SQL resultset pointer - Wie reset nach fetchRow?

Dieses Thema im Forum "Web-Programmierung" wurde erstellt von Jakob, 18.05.2006.

  1. Jakob

    Jakob Thread Starter MacUser Mitglied

    Beiträge:
    1.067
    Zustimmungen:
    21
    MacUser seit:
    05.01.2004
    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

    Beiträge:
    1.067
    Zustimmungen:
    21
    MacUser seit:
    05.01.2004
    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...

Diese Seite empfehlen