SQL resultset pointer - Wie reset nach fetchRow?

  1. Jakob

    Jakob Thread Starter MacUser Mitglied

    Mitglied seit:
    05.01.2004
    Beiträge:
    1.067
    Zustimmungen:
    21
    Hallo,

    hier habe ich ein resultset, was ich aus der DB per query geholt habe.

    Mittels einer while-Schleife iteriere ich da drüber und hole Zeile für Zeile per fetchRow() (in PEAR, heißt glaub ich mysql_fetch_row() in PHP) Informationen daraus.
    PHP:
    while($data=$res->fetchRow())
    Soweit so gut, an einer anderen Stelle brauche ich dieses resultset aber noch einmal. Der Pointer ist nur leider jetzt am Ende. Ein einfaches reset($res) funktioniert nicht.

    Kopieren per
    PHP:
    $res2=$res;
    der Variablen klappt auch nicht. Er scheint trotzdem in der nächsten Schleife auf das Original zuzugreifen.

    Wie komme ich wieder an den Anfang?
    Vielen Dank!
     
  2. Jakob

    Jakob Thread Starter MacUser Mitglied

    Mitglied seit:
    05.01.2004
    Beiträge:
    1.067
    Zustimmungen:
    21
    Hallo!

    Ging jetzt doch schneller als gedacht.

    Im PHP heißt es mysql_data_seek() womit man die Zeile angeben kann. In PEAR lässt es sich so lösen:

    PHP:
    $i 0;
    while(
    $data $res->fetchRow(DB_FETCHMODE_ASSOC$i++))
    Bisschen umständlich, aber es klappt.
     
Die Seite wird geladen...