Maison  >  Article  >  développement back-end  >  Comment parcourir les résultats de MySQLi plusieurs fois : une meilleure approche ?

Comment parcourir les résultats de MySQLi plusieurs fois : une meilleure approche ?

DDD
DDDoriginal
2024-11-02 11:22:02874parcourir

How to Loop Through mysqli Results Multiple Times: A Better Approach?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn