Sẽ đơn giản hơn nếu không sử dụng GROUP BY
đặc biệt là vì nó sẽ không cung cấp cho bạn dữ liệu mà bạn muốn. Vì vậy, thay vào đó, chỉ cần chọn tất cả và sắp xếp chúng theo nhà cung cấp và có thể nghệ sĩ như một loại phụ như vậy
<?php
$result = $mysqli->query("SELECT * FROM `table` ORDER BY provider, artist");
$current_provider = NULL;
while ($data = $result->fetch_object()){
if ( $current_provider != $data->provider ) {
// new provider
echo 'provider '. $data->provider;
$current_provider = $data->provider;
}
echo $data->artist;
}
?>
CẬP NHẬT SAU:
<?php
$service = $db->query("SELECT * FROM `system` ORDER BY provider, artist");
$current_provider = NULL;
while ($data = $service->fetch_object()) {
if ( $current_provider != $data->provider ) {
if ( $current_provider !== NULL ) {
echo '</div>';
}
echo '<div class="service">';
echo '<p class="lower">' . $data->provider . '</p>';
$current_provider = $data->provider;
}
echo '<a href="?artist=' . $data->artist '">' .
$data->artist . '</a><br/>';
}
echo '</div>';