Interner Zeiger eines DB-Results mit PEAR zurücksetzen
Markus
- php
Guten Abend,
Bei einem MySQL-Result kann ich ja mit
mysql_data_seek($result,0);
den internen Zeiger des Results auf den Anfang zurücksetzen.
Wie funktioniert dies denn mit den Funktionen des DB-Packages von PEAR?
(wenn ich z.B. ein Result mit "$result = $db->getAssoc($query);" geholt habe)
Gruß,
Markus
Hallo!
mysql_data_seek($result,0);
den internen Zeiger des Results auf den Anfang zurücksetzen.
Wozu brauchst Du das?
Wie funktioniert dies denn mit den Funktionen des DB-Packages von PEAR?
Gar nicht. Und ich habe es auch bei nativen DB-APIs noch nie gebraucht. Sag mal was zu Deinem Problem, wozu Du das brauchst.
(wenn ich z.B. ein Result mit "$result = $db->getAssoc($query);" geholt habe)
Dann gehst Du die Results in einer Schleife durch, und kommst so an alles was Du brauchts.
Das wichtigste findest Du eigentlich hier: http://pear.php.net/manual/en/package.database.db.intro-fetch.php
Aber das kennst Du vermutlich, oder? Kannst Du mit den dort vorgestellten Mitteln Dein Problem nicht lösen?
Grüße
Andreas
Hallo Andreas, danke für die Antwort.
Wenn ich mit MySQL ein Result durchlaufe (z.B. in einer while-Schleife), muss ich den Zeiger immer wieder auf das erste Element setzen, um das Result nochmal durchlaufen zu können. Das geht ja mit "mysql_data_seek($result,0)".
Da ich ein MySQL-Skript auf PEAR umschreiben muss, suche ich jetzt nach dem Äquivalent, aber das scheint es nicht zu geben (ich habe ja auch schon stundenlang (wirklich!) gegoogelt und gemanualt). Hier muss ich wohl den Algorithmus ändern.
Ich werde mich nochmal intensiv damit auseinandersetzen, vielleicht ergibt sich ja eine andere Lösung, oder ich kann meine Frage konkretisieren.
Markus
Hallo Markus,
Wenn ich mit MySQL ein Result durchlaufe (z.B. in einer while-Schleife), muss ich den Zeiger immer wieder auf das erste Element setzen, um das Result nochmal durchlaufen zu können.
Warum würdest Du das wollen? Ich hab das noch nie gebraucht, weder mit PEAR, noch mit den nativen MySQL, noch mit den nativen PGSQL-Funktionen...
vielleicht ergibt sich ja eine andere Lösung,
Lies doch mit $db->getAll ($query, $values, DB_FETCHMODE_ASSOC); das komplette Ergebnis in ein Array ein und durchlaufe das mit foreach().
Viele Grüße,
Christian