mysql_data_seek
(PHP 4, PHP 5)
mysql_data_seek — Déplace le pointeur interne de résultat MySQL
Cette extension est obsolète depuis PHP 5.5.0, et sera supprimée dans le futur. À la place, les extensions MySQLi ou PDO_MySQL doivent être utilisées. Voir aussi le guide MySQL : choix de l'API ainsi que la FAQ associée pour plus d'information. Voici les alternatives à cette fonction :
- mysqli_data_seek()
PDO::FETCH_ORI_ABS
Description
$result
, 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 à 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 ou FALSE
si une erreur survient.
Exemples
Exemple #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().
Voir aussi
- mysql_query() - Envoie une requête à un serveur MySQL
- mysql_num_rows() - Retourne le nombre de lignes d'un résultat MySQL
- mysql_fetch_row() - Retourne une ligne de résultat MySQL sous la forme d'un tableau
- mysql_fetch_assoc() - Lit une ligne de résultat MySQL dans un tableau associatif
- mysql_fetch_array() - Retourne une ligne de résultat MySQL sous la forme d'un tableau associatif, d'un tableau indexé, ou les deux
- mysql_fetch_object() - Retourne une ligne de résultat MySQL sous la forme d'un objet