(PHP 5, PHP 7, PHP 8)
mysqli_result::data_seek -- mysqli_data_seek â DĂ©place le pointeur interne de rĂ©sultat
Style orienté objet
Style procédural
La fonction mysqli_data_seek() déplace le
pointeur interne de résultat associé au jeu de résultat représenté
par result, en le faisant pointer sur
la ligne spécifiée par offset.
resultoffset
Le dĂ©calage de la ligne. Le paramĂštre offset doit ĂȘtre
compris entre zéro et mysqli_num_rows() -
1 (0..mysqli_num_rows() - 1).
Exemple #1 Exemple avec mysqli::data_seek()
Style orienté objet
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
$query = "SELECT Name, CountryCode FROM City ORDER BY Name";
$result = $mysqli->query($query);
/* Recherche la ligne 401 */
$result->data_seek(400);
/* Récupération de cette ligne */
$row = $result->fetch_row();
printf("Ville: %s Code Pays: %s\n", $row[0], $row[1]);
?>Style procédural
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
$query = "SELECT Name, CountryCode FROM City ORDER BY Name";
$result = mysqli_query($link, $query);
/* Recherche la ligne 401 */
mysqli_data_seek($result, 400);
/* Récupération de cette ligne */
$row = mysqli_fetch_row($result);
printf("Ville: %s Code Pays: %s\n", $row[0], $row[1]);Les exemples ci-dessus vont afficher :
Ville: Benin City Code Pays: NGA
Exemple #2 Ajustement du pointeur de résultat lors de l'itération
Cette fonction peut ĂȘtre utile lors de l'itĂ©ration sur l'ensemble des rĂ©sultats pour imposer un ordre personnalisĂ© ou pour rembobiner l'ensemble des rĂ©sultats lors d'itĂ©rations multiples.
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
$query = "SELECT Name, CountryCode FROM City ORDER BY Name LIMIT 15,4";
$result = $mysqli->query($query);
/* Interroger l'ensemble des résultats dans l'ordre inverse */
for ($row_no = $result->num_rows - 1; $row_no >= 0; $row_no--) {
$result->data_seek($row_no);
/* Récupération de cette ligne */
$row = $result->fetch_row();
printf("Ville: %s Code Pays: %s\n", $row[0], $row[1]);
}
/* Remise à zéro du pointeur au début de l'ensemble de résultats */
$result->data_seek(0);
print "\n";
/* Interroger Ă nouveau le mĂȘme ensemble de rĂ©sultats */
while ($row = $result->fetch_row()) {
printf("Ville: %s Code Pays: %s\n", $row[0], $row[1]);
}Les exemples ci-dessus vont afficher :
Ville: Acmbaro Code Pays: MEX Ville: Abuja Code Pays: NGA Ville: Abu Dhabi Code Pays: ARE Ville: Abottabad Code Pays: PAK Ville: Abottabad Code Pays: PAK Ville: Abu Dhabi Code Pays: ARE Ville: Abuja Code Pays: NGA Ville: Acmbaro Code Pays: MEX
Note:
Cette fonction ne peut ĂȘtre utilisĂ©e qu'avec des rĂ©sultats obtenus avec la fonction mysqli_store_result(), mysqli_query() ou mysqli_stmt_get_result().