PDO е малко повече, отколкото всеки си мисли, че е. Например, той има великолепна функция за вас, наречена PDO::FETCH_GROUP .
Да не говорим за други малки подобрения, които могат да направят кода ви драстично по-кратък.
$r = $handler->query("SELECT confirmed, c.* FROM comments c")->fetchAll(PDO::FETCH_GROUP);
Всичкият код, от който се нуждаете.
тук избирате confirmed
първо поле и след това кажете на PDO да групира (или "умножи") резултатите въз основа на неговата стойност.
И сега можете да отпечатате коментарите си, където пожелаете
// Awaiting Comments
foreach($r[0] as $r_) {
echo "<li>$r_[title]</li>";
}
// Confirmed comments
foreach($r[2] as $r_) {
echo "<li>$r_[title]</li>";
}
Или да го направите в един цикъл
$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>";
}
}