Jika Anda ingin itu dilakukan dalam kueri MySQL, sejujurnya itu lebih merepotkan daripada nilainya. Untuk satu, sintaksnya benar-benar miring (seingat saya) untuk memiliki nama grup yang tercantum di bagian atas setiap pengelompokan. Dan hasilnya masih diperlakukan sebagai baris, sehingga nama grup akan diperlakukan seperti baris dengan semua kolom lainnya sebagai Null, jadi Anda tidak akan benar-benar menghemat waktu atau tenaga dalam skrip PHP karena harus melakukan pernyataan if untuk menangkap ketika mengenai nama grup, bukan data grup.
Jika Anda ingin itu dilakukan oleh loop sementara PHP, Johan berada di jalur yang benar. Saya menggunakan yang berikut ini untuk situasi serupa:
$result = $sql->query($query);
$prev_group = "";
while($data = $result->fetch_assoc()){
$curr_group = $data['group'];
if ($curr_group !== $prev_group) {
echo "<h1>$curr_group</h1>";
$prev_group = $curr_group;
}
else {
echo $data;
.....
}
Jelas data gema akan diatur untuk menggemakan bagian data seperti yang Anda inginkan. Tetapi $prev_group/$curr_group diatur sehingga satu-satunya waktu mereka tidak cocok adalah ketika Anda berada di grup baru dan dengan demikian ingin mencetak semacam header.