AOP est un peu plus que tout le monde ne le pense. Par exemple, il a une fonctionnalité magnifique pour vous, appelée PDO::FETCH_GROUP .
Sans parler d'autres petites améliorations qui peuvent rendre votre code considérablement plus court.
$r = $handler->query("SELECT confirmed, c.* FROM comments c")->fetchAll(PDO::FETCH_GROUP);
C'est tout le code dont vous avez besoin.
ici vous sélectionnez le confirmed
champ d'abord, puis dites à PDO de regrouper (ou "multiplier") les résultats en fonction de sa valeur.
Et maintenant, vous pouvez imprimer vos commentaires où vous voulez
// Awaiting Comments
foreach($r[0] as $r_) {
echo "<li>$r_[title]</li>";
}
// Confirmed comments
foreach($r[2] as $r_) {
echo "<li>$r_[title]</li>";
}
Ou, pour le faire en une seule boucle
$titles = [
0 => 'Awaiting Comments',
2 => 'Comments waiting confirmation',
1 => 'Confirmed Comments',
];
foreach ($titles as $code => $title)
{
echo "<h3>$title</h3>";
foreach($r[$code] as $r_) {
echo "<li>$r_[title]</li>";
}
}