MySQLクエリで実行したい場合は、正直なところ、それが価値があるよりも厄介です。 1つは、各グループの上部にグループ名がリストされているという構文は(私が覚えているように)非常に不安定です。また、結果は引き続き行として扱われるため、グループ名は他のすべての列がNullである行のように扱われるため、ifステートメントを実行する必要があるため、PHPスクリプトで時間や労力を節約することはできません。グループデータではなくグループ名にヒットしたときにキャッチします。
PHPのwhileループで実行したい場合は、Johanが正しい方向に進んでいます。私は同様の状況で以下を使用します:
$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;
.....
}
明らかに、エコーデータは、データの一部を希望どおりにエコーするように設定されます。ただし、$ prev_group / $ curr_groupは、それらが一致しないのは、新しいグループにいて、ある種のヘッダーを印刷したいときだけになるように設定されています。