SQL resultset pointer - Wie reset nach fetchRow?

Jakob

Jakob

Aktives Mitglied
Thread Starter
Dabei seit
05.01.2004
Beiträge
1.070
Reaktionspunkte
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!
 
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.
 
Zurück
Oben Unten