mysql_data_seek

(PHP 3, PHP 4 )

mysql_data_seek -- Przesuwa wewnętrzny wskaźnik wyniku

Opis

bool mysql_data_seek ( resource identyfikator_wyniku, int numer_wiersza)

Zwraca TRUE w przypadku sukcesu, FALSE w przypadku porażki.

mysql_data_seek() przesuwa wewnętrzny wskaźnik wiersza wyniku operacji MySQL skojarzony z podanym identyfikatorem wyniku na podany numer wiersza. Następne wywołanie mysql_fetch_row() zwróci ten wiersz.

numer_wiersza liczony jest od 0. Zakres wartości od 0 do mysql_num_rows - 1.

Notatka: Funkcję mysql_data_seek() można stosować jedynie w połączeniu z mysql_query(), nie z mysql_unbuffered_query().

Przykład 1. mysql_data_seek

<?php
    $link = mysql_pconnect('serwer', 'uzytkownik', 'haslo')
        or die('Nie można się połączyć: ' . mysql_error());

    mysql_select_db('baza')
        or die('Nie można wybrać bazy danych: ' . mysql_error());

    $query = 'SELECT last_name, first_name FROM friends';
    $result = mysql_query($query)
        or die('Zapytanie zakończone niepowodzeniem: ' . mysql_error());

    /* pobieramy wiersze w odwrotnej kolejności */
    for ($i = mysql_num_rows($result) - 1; $i >=0; $i--) {
        if (!mysql_data_seek($result, $i)) {
            echo "Nie można przejść do wiersza $i: " . mysql_error() . "\n"; 
            continue;
        }

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

        echo "$row->last_name $row->first_name<br />\n"; 
    }

    mysql_free_result($result);
?>

Patrz także: mysql_query(), mysql_num_rows().