Maison > base de données > tutoriel mysql > Comment puis-je parcourir deux fois un tableau de résultats PDO ?

Comment puis-je parcourir deux fois un tableau de résultats PDO ?

Mary-Kate Olsen
Libérer: 2024-11-28 17:57:13
original
731 Les gens l'ont consulté

How Can I Iterate Through a PDO Result Array Twice?

Itérer deux fois un tableau à partir d'un résultat PDO

Lorsque vous travaillez avec PDO, il peut être nécessaire de parcourir plusieurs fois un tableau récupéré. Cependant, contrairement à la méthode mysql_data_seek() de MySQL, PDO ne fournit pas de moyen direct de réinitialiser le pointeur du tableau. Pour obtenir la même fonctionnalité, une approche alternative doit être utilisée.

La solution consiste à stocker les résultats récupérés dans un tableau, puis à parcourir ce tableau deux fois. Voici un exemple :

$pdo = new PDO('mysql:host=' . $host . ';dbname='.$database, $username, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$stmt = $pdo->prepare('SELECT * FROM mytable WHERE active = 1 ORDER BY name ASC');
$stmt->setFetchMode(PDO::FETCH_ASSOC);
$stmt->execute();

$rows = $stmt->fetchAll();

foreach ($rows as $r) {
    // first run
}

foreach ($rows as $r) {
    // seconds run
}
Copier après la connexion

Dans ce code révisé :

  • Les résultats de la requête sont récupérés dans un tableau à l'aide de fetchAll().
  • Deux boucles foreach distinctes sont utilisés pour parcourir le tableau deux fois.

En enregistrant les résultats dans un tableau, l'intention initiale de itérer deux fois sur le même tableau, en commençant par la ligne zéro à chaque fois, est conservé. Cette méthode fournit une solution robuste et efficace pour travailler avec les résultats PDO.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal