(PHP 4, PHP 5, PECL mysql:1.0)
mysql_data_seek — Déplace le pointeur interne de résultat MySQL
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 .
La ressource de résultat qui vient d'être évaluée. Ce résultat vient de l'appel à la fonction mysql_query() .
La position de la ligne désirée pour le nouveau pointeur de résultats.
Cette fonction retourne TRUE en cas de succès, FALSE en cas d'échec.
Exemple 1571. 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
);
?>
Note: La fonction mysql_data_seek() peut être utilisée en conjonction avec mysql_query() , mais pas avec la fonction mysql_unbuffered_query() .
mysql_query() |
mysql_num_rows() |
mysql_fetch_row() |
mysql_fetch_assoc() |
mysql_fetch_array() |
mysql_fetch_object() |