Passer de MySQL à PDO : préserver le pointeur de tableau
PDO offre une approche différente pour récupérer des données par rapport à la méthode mysql_data_seek() de MySQL. Pour parcourir efficacement un tableau plusieurs fois, suivez ces étapes :
Enregistrer les résultats dans un tableau :
Au lieu de vous fier directement à l'instruction PDO, enregistrez les résultats dans un tableau utilisant la méthode fetchAll(). Cela vous permet de travailler avec le tableau de manière plus contrôlée.
Code :
<code class="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(); $rows = $stmt->fetchAll();</code>
Itérer avec la boucle Foreach :
Maintenant, vous pouvez parcourir le tableau autant de fois que nécessaire en utilisant les boucles foreach. Cette approche vous permet de démarrer chaque itération à partir du premier élément du tableau.
Code :
<code class="php">foreach ($rows as $r) { // First iteration } foreach ($rows as $r) { // Second iteration }</code>
Exemple :
Supposons que vous ayez un tableau de noms stockés dans $rows. Le code suivant montre comment le parcourir deux fois :
<code class="php">foreach ($rows as $name) { echo $name . "<br>"; // First run: Display all names vertically } foreach ($rows as $name) { echo $name . " "; // Second run: Display all names horizontally }</code>
Avantages :
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!