Forum und email

sesam_fetch_row

(No version information available, might be only in CVS)

sesam_fetch_row — Lesen einer Zeile als Array

Beschreibung

array sesam_fetch_row ( string $result_id [, int $whence [, int $offset ]] )

Liefert ein Array entsprechend der gelesenen Zeile oder FALSE nach de letzten gefundenen Zeile.

Die Anzahl der Spalten im Ausgabesatz wird als Element des assoziativen Arrays $array["count"] geliefert. Da Ergebnisspalten auch leer sein können, kann die Funktion count() nicht auf das Ergebnis der Funktion sesam_fetch_row() angewendet werden.

result_id ist eine gültige Ergebniskennung (???) der Funktion sesam_query() (nur Abfragen vom Typ select!).

whence ist ein optionaler Parameter für eine "fetch"-Operation (???) bei "scrollable" Cursor und kann auf folgende vordefinierte Werte gesetzt werden:

Gültige Werte für Parameter "whence"
Value Constant Meaning
0 SESAM_SEEK_NEXT sequentielles Lesen (nach "fetch" wird der interne Standardwert auf SESAM_SEEK_NEXT gesetzt)
1 SESAM_SEEK_PRIOR sequentielles Lesen rückwärts (nach "fetch" wird der interne Standardwert auf SESAM_SEEK_PRIOR gesetzt)
2 SESAM_SEEK_FIRST zurück zur ersten Zeile (nach "fetch" wird der interne Standardwert auf SESAM_SEEK_NEXT gesetzt)
3 SESAM_SEEK_LAST suche letzte Zeile (nach "fetch" wird der interne Standardwert auf SESAM_SEEK_PRIOR gesetzt)
4 SESAM_SEEK_ABSOLUTE suche Zeilen mit der Nummer definiert durch offset (Null-basierte Indizierung (nach "fetch" wird der interne Standardwert auf SESAM_SEEK_ABSOLUTE gesetzt und der interne offset-Wert wird automatisch hochgesetzt)
5 SESAM_SEEK_RELATIVE suche relativ zur aktuellen Position; offset kann positiv oder negativ sein.
Dieser Parameter ist nur für "scrollable" Cursors gültig.

Bei "scrollable" kann der Cursor beliebig im Ausgabesatz positioniert werden. Wird der optionale Parameter whence nicht benutzt, werden die globalen Standardwerte für den Scroll-Typ verwendet (Initialiwert: SESAM_SEEK_NEXT, einstellbar mit der Funktion sesam_seek_row()). Bei Verwendung des Parameters whence ersetzen dessen Werte die golbalen Standardwerte.

offset ist ein optionaler Parameter, der nur wirkt (und auch nur benötigt wird), wenn whence entweder den Wert SESAM_SEEK_RELATIVE oder SESAM_SEEK_ABSOLUTE hat. Dieser Parameter ist nur für "scrollable" Cursors gültig.

sesam_fetch_row() holt eine Datenzeile aus dem Ergebnis mit der zugeordneten Ergebniskennung (???). Die Zeile wird als Array geliefert, wobei die indizierten Werte zwischen 0 und $array["count"]-1) liegen. Da Felder auch leer sein können, muss die Existenz eines mit der PHP-Funktion isset() verifiziert werden. Der Typ der gelieferten Felder ist abhängig von der entsprechenden SQL-Typdeklaration düe die Spalten (siehe SESAM overview für die angewendeten Umsetzungen). SESAM "multiple fields" sind "inlined" (???) und werden wie eine Spaltenfolge behandelt.

Nachfolgende Aufrufe von sesam_fetch_row() liefern die nächste Zeile (oder die vorhergehende, höchste/niedrigste je nach den Attributen) im Ausgabesatz oder FALSE wenn keine Zeilen mehr verfügabr sind.

Example#1 SESAM fetch rows

<?php
$result 
sesam_query ("SELECT * FROM phone\n".
                       
"  WHERE LASTNAME='".strtoupper($name)."'\n".
                       
"  ORDER BY FIRSTNAME"1);
if (! 
$result) {
    ... 
error ...
}
// print the table in backward order
print "<TABLE BORDER>\n";
$row sesam_fetch_row ($resultSESAM_SEEK_LAST);
while (
is_array($row)) {
    print 
" <TR>\n";
    for(
$col 0$col $row["count"]; ++$col) {
        print 
"  <TD>".htmlspecialchars($row[$col])."</TD>\n";
    }
    print 
" </TR>\n";
    
// use implied SESAM_SEEK_PRIOR
    
$row sesam_fetch_row ($result);
}
print 
"</TABLE>\n";
sesam_free_result ($result);
?>

Siehe auch: Funktion sesam_fetch_array() (liefert ein assoziatives Array ) und sesam_fetch_result() (liefert viele Zeilen pro Aufruf (???))