Maison > développement back-end > tutoriel php > Comment parcourir plusieurs fois les résultats de récupération PDO en commençant depuis le début ?

Comment parcourir plusieurs fois les résultats de récupération PDO en commençant depuis le début ?

Mary-Kate Olsen
Libérer: 2024-10-30 03:06:03
original
527 Les gens l'ont consulté

How to Iterate Through PDO Fetch Results Multiple Times Starting from the Beginning?

Réitération des résultats de récupération PDO depuis le début

Dans l'extension PDO de PHP, vous pouvez rencontrer des difficultés lorsque vous tentez de parcourir plusieurs fois un tableau récupéré , en commençant à chaque fois par la première rangée. Contrairement à la méthode mysql_data_seek de MySQL, PDO n'a pas d'équivalent direct pour réinitialiser manuellement le pointeur du tableau.

Pour surmonter ce problème, vous pouvez exploiter une approche alternative en stockant les résultats dans un tableau. Voici un extrait de code modifié démontrant ceci :

<code class="php"><?php
$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();

// Store the results in an array
$rows = $stmt->fetchAll();

// First iteration
foreach ($rows as $r) {
    // Perform desired actions starting from the first row
}

// Second iteration
foreach ($rows as $r) {
    // Perform additional actions starting from the first row again
}
?></code>
Copier après la connexion

En stockant les résultats dans $rows, vous créez effectivement un instantané de l'ensemble de résultats complet. Cela vous permet de parcourir le tableau plusieurs fois, en vous assurant que chaque itération commence à partir de la première ligne. Cette approche offre une plus grande polyvalence et élimine le besoin de manipulation manuelle du pointeur, ce qui la rend adaptée à une variété de cas d'utilisation.

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