Manuel PHP
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().

