Обтекание элементов массива в div, основанных на одном значении

Получив результаты из mysql, можно сгруппировать элементы массива с одинаковыми значениями из поля id_group и обернуть их в элементы div. Может ли кто-нибудь дать мне советы?

Вот результат, который я хочу:

  <div class="id_group_1"> <div>comment from group 1</div> <div>comment from group 1</div> <div>comment from group 1</div> </div> <div class="id_group_2"> <div>comment from group 2</div> <div>comment from group 2</div> <div>comment from group 2</div> <div>comment from group 2</div> <div>comment from group 2</div> </div> 

PHP

  $id_group = $_POST["group"]; $reply = $_POST["reply"]; $sql = "SELECT a.comments,b.name,a.id_group from `reviews` a INNER JOIN `users` b ON a.app_id = b.id WHERE a.post_name = ? AND a.id_group IN ($in) ORDER BY a.id_group"; $users = $dbh->prepare($sql); $users->bindValue(1,$reply); $i = 3; foreach ($id_group as $id) { $users->bindValue($i++, $id); } $users->execute(array_merge(array($reply), $id_group)); //*****Here*****// foreach($users as $row) { echo "<div>".$row["comments"]."<br>Written by ".$row["name"]."</div>"; } 

 $rows = $users->fetchAll(PDO::FETCH_ASSOC); $arrayByGroup = array(); $id = null; foreach ($rows as $r) { if($id != $r['id_group']) { if (!is_null($id)) { echo '</div>'; } $id = $r['id_group']; echo '<div class="id_group_' . $id . '">'; } echo "<div>".$r["comments"]."<br>Written by ".$r["name"]."</div>"; } echo '</div>' 

Редактирование сделано на основе проницательности Мэтта Барретта.

Поскольку вы знаете значение id_groups, и вы заказали результаты с помощью id_group, вы можете использовать цикл while для вывода данных, а id_group == id, а затем использовать другой цикл while для вывода следующего div.

Это, очевидно, скорее предложение, чем полный и всесторонний ответ, но у меня недостаточно отзывов для добавления комментариев, поэтому отправляйте его как ответ, как вы просили предложения – надеюсь, что все в порядке!