Иногда в ходе работы с базой данных возникает необходимость осуществить разнообразные переходы (со строки на строку, с поля на поле, со столбца на столбец, с адреса на адрес и т. д.). Для этого используется функция mysql_data_seek(), которая позволяет осуществлять переход на указанную строку в наборе результатов запросов. Ее синтаксис:
int mysql_data_seek<int result_identifier, int row_number)
Функция возвратит true в случае успешного выполнения работы или false — в случае ошибки.
Функция mysql_data_seek() перемещает внутренний указатель строки результата MySQL, связанного с указанным идентификатором (result_identifier), на установленный номер строки (row_number). При следующем запросе к функции mysql_fetch_row() может быть возвращена эта строка.
Значения параметра row_number начинаются с нуля.
<?php
$link = mysql_pconnect ("kron", "jutta", "geheim"); mysql_select_db("samp_db");
$query = "SELECT last_name, first_name FROM friends"; Sresult = mysql_query ($query);
for (Si = mysql_num_rows(Sresult)—1; Si >=0; $i--) {
if (!mysql_data_seek(Sresult, $i)) {
printf ("Поиск невозможен %dn", Si);
continue;
}
if( !($row = mysql_fetch_object ($result)) )
continue;
printf ("%s %s<BR>n", Srow->last_name, $row->first_name);
}
mysql_free_result($result);
?>