Boucler les résultats de mysqli plusieurs fois : une meilleure approche
Dans le contexte de l'utilisation de mysqli_fetch_array() pour accéder aux données de la base de données, vous pouvez rencontrer un situation où vous devez parcourir l’ensemble de résultats plusieurs fois. Cependant, tenter d'utiliser mysqli_fetch_array() deux fois sur le même résultat, comme illustré dans l'extrait de code donné, ne fonctionnera pas efficacement.
Séparation de la manipulation des données et de la sortie
Une solution plus efficace consiste à séparer la manipulation des données de la sortie. Au lieu d'essayer de récupérer des données et de les afficher en une seule étape, vous devez d'abord sélectionner et stocker les données dans un tableau. De cette façon, vous pouvez accéder et manipuler les données autant de fois que nécessaire.
Sélection des données
Pour sélectionner les données de la base de données, utilisez le code suivant :
$db_res = mysqli_query( $db_link, $sql ); $data = array(); while ($row = mysqli_fetch_assoc($db_res)) { $data[] = $row; }
Ce code exécute la requête SQL et stocke chaque ligne du résultat dans le tableau $data. Notez que fetch_assoc() est utilisé à la place de fetch_array() pour renvoyer un tableau associatif pour faciliter l'accès.
Utiliser les données plusieurs fois
Une fois les données stockées dans le tableau $data, vous pouvez l'utiliser autant de fois que vous le souhaitez :
//Top row foreach ($data as $row) {
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!