mysql_data_seek — Mueve el puntero interno
Descripción
int mysql_data_seek ( int $id_resultado, int $numero_de_fila )
mysql_data_seek() mueve el puntero de fila interno a la fila específicada para el identificador de resultado. La próxima llamada a mysql_fetch_row() devolverá esa fila.
Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.
numero_de_fila empieza en . El numero_de_fila debe ser un valor dentro del rango de o a mysql_num_rows() – 1. Sin embargo si el resultado está vacío (mysql_num_rows() == 0), una búsqueda a 0 fallará con E_WARNING y mysql_data_seek() regresará FALSE.
nota: La función mysql_data_seek() puede ser usada solo en conjunto con mysql_query(), no con mysql_unbuffered_query().
Ejemplo 1345. Ejemplo de MySQL data seek
<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
$db_selected = mysql_select_db('sample_db');
if (!$db_selected) {
die('Could not select database: ' . mysql_error());
}
$query = 'SELECT last_name, first_name FROM friends';
$result = mysql_query($query);
if (!$result) {
die('Query failed: ' . mysql_error());
}
/* fetch rows in reverse order */
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['last_name'] . ' ' . $row['first_name'] . "<br />\n";
}
mysql_free_result($result);
?>