mysql_data_seek

(PHP 3, PHP 4 , PHP 5)

mysql_data_seek -- Déplace le pointeur interne de résultat MySQL

Description

bool mysql_data_seek ( resource result_identifier, int row_number )

mysql_data_seek() déplace le pointeur interne de résultat, dans le résultat associé à l'identifiant de résultat result_identifier. Il le fait pointer à la ligne row_number. Le prochain appel à mysql_fetch_row() retournera cette ligne.

Cette fonction retourne TRUE en cas de succès, FALSE en cas d'échec.

row_number commence à 0. row_number doit être une valeur qui va de 0 à mysql_num_rows() - 1. Cependant, si le résultat est vide, un row_number de 0 échouera avec une erreur E_WARNING et mysql_data_seek() retournera FALSE.

Note : La fonction mysql_data_seek() peut être utilisée en conjonction avec mysql_query(), mais pas avec la fonction mysql_unbuffered_query().

Exemple 1. Exemple avec mysql_data_seek()

<?php
$link
= mysql_pconnect("kron", "jutta", "geheim") or die ("Connexion impossible");
mysql_select_db("samp_db") or die ("Sélection de base impossible");

$query = "SELECT last_name, first_name FROM friends";
$result = mysql_query($query) or die ("Requête impossible");

// récupère les lignes dans l'ordre inverse
for ($i = mysql_num_rows($result) - 1; $i >=0; $i--) {
  if (!
mysql_data_seek($result, $i)) {
    echo
"Impossible d'atteindre la ligne $i\n";
    continue;
  }
  if(!(
$row = mysql_fetch_object($result)))
    continue;
  echo
"{$row->last_name} {$row->last_name}{$row->first_name}<br />\n";
}
mysql_free_result($result);
?>

Voir aussi mysql_query(), mysql_num_rows(), mysql_fetch_row(), mysql_fetch_assoc(), mysql_fetch_array() et mysql_fetch_object().