mysql_data_seek
(PHP 4, PHP 5, PECL mysql:1.0)
mysql_data_seek — Déplace le pointeur interne de résultat MySQL
Description
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 à une fonction MySQL de récupération de données, comme la fonction mysql_fetch_assoc() retournera cette ligne.
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.
Liste de paramètres
- result
-
La ressource de résultat qui vient d'être évaluée. Ce résultat vient de l'appel à la fonction mysql_query().
- row_number
-
La position de la ligne désirée pour le nouveau pointeur de résultats.
Valeurs de retour
Cette fonction retourne TRUE en cas de succès, FALSE en cas d'échec.
Exemples
Example#1 Exemple avec mysql_data_seek()
<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Connexion impossible : ' . mysql_error());
}
$db_selected = mysql_select_db('sample_db');
if (!$db_selected) {
die('Sélection de base de données impossible : ' . mysql_error());
}
$query = 'SELECT nom_famille, prenom FROM amis';
$result = mysql_query($query);
if (!$result) {
die('Requête échec : ' . mysql_error());
}
/* Récupération des lignes en ordre inverse */
for ($i = mysql_num_rows($result) - 1; $i >= 0; $i--) {
if (!mysql_data_seek($result, $i)) {
echo "Ne peut pointer vers la ligne $i : " . mysql_error() . "\n";
continue;
}
if (!($row = mysql_fetch_assoc($result))) {
continue;
}
echo $row['nom_famille'] . ' ' . $row['prenom'] . "<br />\n";
}
mysql_free_result($result);
?>
Notes
Note: La fonction mysql_data_seek() peut être utilisée en conjonction avec mysql_query(), mais pas avec la fonction mysql_unbuffered_query().