PDO es un poco más de lo que todos piensan que es. Por ejemplo, tiene una función magnífica para ti, llamada PDO::FETCH_GROUP .
Sin mencionar otras pequeñas mejoras que pueden hacer que su código sea mucho más corto.
$r = $handler->query("SELECT confirmed, c.* FROM comments c")->fetchAll(PDO::FETCH_GROUP);
Es todo el código que necesitas.
aquí está seleccionando el confirmed
campo primero y luego dígale a PDO que agrupe (o "multiplique") los resultados según su valor.
Y ahora puedes imprimir tus comentarios donde quieras
// Awaiting Comments
foreach($r[0] as $r_) {
echo "<li>$r_[title]</li>";
}
// Confirmed comments
foreach($r[2] as $r_) {
echo "<li>$r_[title]</li>";
}
O, para hacerlo en un bucle
$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>";
}
}