mysql_data_seek

(PHP 3, PHP 4 , PHP 5)

mysql_data_seek -- Bewegt den internen Ergebnis-Zeiger

Beschreibung

bool mysql_data_seek ( resource Ergebnis-Kennung, int Datensatznummer)

Rückgabewert: Gibt bei Erfolg TRUE zurück, im Fehlerfall FALSE.

mysql_data_seek() bewegt den internen Datensatz-Zeiger eines Anfrageergebnisses zum Datensatz mit der übergebenen Nummer. Der nächste Aufruf von mysql_fetch_row() liefert den entsprechenden Datensatz.

Die Datensatznummer beginnt bei 0. Die Datensatznummer sollte ein Wert im Bereich zwischen 0 und mysql_num_rows - 1 sein. Falls die Ergebnismenge jedoch Null sein sollte (mysql_num_rows == 0) wird eine Suche nach Datensatznummer 0 mit einem E_WARNING fehlschlagen und mysql_data_seek() gibt FALSE zurück.

Anmerkung: Die Funktion mysql_data_seek() kann nur zusammen mit mysql_query() benutzt werden und nicht mit mysql_unbuffered_query().

Beispiel 1. mysql_data_seek() Beispiel

<?php
$link
= mysql_connect("localhost", "mysql_user", "mysql_password")
    or die(
"Keine Verbindung möglich: " . mysql_error());

mysql_select_db("samp_db")
    or die(
"Auswahl der Datenbank nicht möglich: " . mysql_error());

$query = "SELECT nach_name, vor_name FROM freunde";
$result = mysql_query($query)
    or die(
"Anfrage fehlgeschlagen");

/* holen der Zeilen in umgekehrter Reihenfolge */
for ($i = mysql_num_rows($result) - 1; $i >= 0; $i--) {
    if (!
mysql_data_seek($result, $i)) {
        echo
"Cannot seek to row $i: " . mysql_error() . "\n";
        continue;
    }

    if (!(
$row = mysql_fetch_object($result)))
        continue;

        echo
"$row->nach_name $row->vor_name<br />\n";
}

mysql_free_result ($result);
?>

Siehe auch: mysql_query() und mysql_num_rows().