next up previous contents index
Next: db_fetchall_row ($result): Up: Funktionen für den Zugriff Previous: db_fetch_array($result, $row):

db_seek ($result, $row):

Um die für die 'db_fetchnext'-Funktionen verwendete Zeilenposition im Ergebnis zu ändern, kann 'db_seek' verwendet werden. Als Parameter sind der Result-Handler und eine absolute Zeilennummer (von 0 an gezählt) zu übergeben. Bei Erfolg wird 'true' zurückgegeben. Die aktuelle Zeilenposition ist dann vor der spezifizierten Zeile. D.h. beim nächsten Aufruf von 'db_fetchnext_row' bzw. 'db_fetchnext_row' wird dann die ($row+1)-te Zeile gelesen. Bei Fehler, z.B. wenn die angegebene Zeile nicht zu erreichen war, wird 'false' zurückgegeben. Trotzdem wird immer versucht zu einer Zeile mit möglichst hoher Nummer, aber nie höher als mit $row angegeben, zu springen.

Verwendet wird hierfür die Funktion 'db_union_seek', um mit ``UNION ALL'' zusammengesetzte Anfragen zu behandeln. Diese ruft die tatsächlich Datenbank-spezifische Funktion 'my_<dbtype>_seek' auf, um auf den Teilergebnissen den Sprung durchzuführen. Diese müssen dafür (intern) als Rückgabe immer die erreichte Position innerhalb ihres Teilergebnisses als Rückgabe an 'db_union_seek' liefern.

 

Die folgenden Funktionen rufen selbst (zumindest nicht direkt) keine Datenbank -spezifischen bzw. UNION-Query-behandelnde Funktionen auf. Sie benutzen nur die obigen Zugriffsfunktionen, um dem Benutzer den Zugriff auf das gesamte Ergebnis einer SQL-Anfrage in einem Funktionsaufruf zu ermöglichen:



Copyright Munich Network Management Team