Forum und email

mysql_data_seek

(PHP 4, PHP 5, PECL mysql:1.0)

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.

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

Example#1 mysql_data_seek() Beispiel

<?php
$link 
mysql_connect('localhost''mysql_user''mysql_password');
if (!
$link) {
    die(
'Keine Verbindung möglich: ' mysql_error());
}
$db_selected mysql_select_db('sample_db');
if (!
$db_selected) {
    die(
'Auswahl der Datenbank nicht möglich: ' mysql_error());
}
$query 'SELECT nach_name, vor_name FROM freunde';
$result mysql_query($query);
if (!
$result) {
    die(
'Anfrage fehlgeschlagen: ' mysql_error());
}
/* 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_assoc($result))) {
        continue;
    }

    echo 
$row['nach_name'] . ' ' $row['vor_name'] . "<br />\n";
}

mysql_free_result($result);
?>

Siehe auch: mysql_query() und mysql_num_rows().