Maison >développement back-end >tutoriel php >Puis-je parcourir un ensemble de résultats MySQL plusieurs fois sans réexécuter la requête ?
Q. Pour des cas spécifiques, il est nécessaire de parcourir plusieurs fois un ensemble de résultats MySQL. Existe-t-il un moyen d'y parvenir sans exécuter la requête à plusieurs reprises ou sans recourir au stockage et à la réutilisation de lignes ailleurs dans le script ?
A. Pour parcourir un ensemble de résultats MySQL plus d'une fois à l'aide des fonctions mysql_*, vous pouvez utiliser l'approche suivante :
$result = mysql_query(/* Your query */); while ($row = mysql_fetch_assoc($result)) { // Perform desired actions on the row } // Reset the result pointer to the beginning mysql_data_seek($result, 0); while ($row = mysql_fetch_assoc($result)) { // Perform desired actions on the row again }
En employant cette méthode, vous remettez effectivement le pointeur de résultat sur la première ligne après avoir terminé la boucle initiale, vous permettant de parcourir l'ensemble de résultats plusieurs fois.
Cependant, il convient de noter que cette approche n'est peut-être pas la solution la plus idéale. Envisagez d'effectuer le traitement souhaité dans la première boucle pour éviter d'avoir besoin de plusieurs itérations dans l'ensemble de résultats.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!