mysql_data_seek

(PHP 3, PHP 4, PHP 5)

mysql_data_seek -- Перемещает внутренний указатель в результате запроса

Описание

bool mysql_data_seek ( resource result_identifier, int row_number )

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

mysql_data_seek() перемещает внутренний указатель в результате запроса к ряду с указанным номером. Следующий вызов mysql_fetch_row() вернёт именно его.

Параметр Row_number должен быть значением от 0 до mysql_num_rows - 1.

Замечание: Функция mysql_data_seek() может быть использована только с mysql_query(), но не с mysql_unbuffered_query().

Пример 1. Пример использования mysql_data_seek()

<?php
    $link
= mysql_pconnect("localhost", "mysql_user", "mysql_password")
        or die(
"Could not connect: " . mysql_error());

    
mysql_select_db("samp_db")
        or die(
"Could not select database: " . mysql_error());

    
$query = "SELECT last_name, first_name FROM friends";
    
$result = mysql_query($query)
        or die(
"Query failed: " . mysql_error());

    
/* получение рядов в обратном порядке */
    
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->last_name $row->first_name<br />\n";
    }

    
mysql_free_result($result);
?>

См. также mysql_query() и mysql_num_rows().