Hãy thử điều này ..
Truy vấn tất cả thành phố với tiểu bang, đặt hàng theo tiểu bang trước rồi đến thành phố:
SELECT id, alphaname, state
FROM regional
ORDER BY state ASC, alphaname ASC
Tổ chức tập dữ liệu của bạn thành mảng 2 thứ nguyên:
$states = array();
while($thearray = mysql_fetch_array($list))
{
$states[$thearray[state]][$thearray[id]] = $thearray[alphaname];
}
Bây giờ nội dung của $states
của bạn sẽ trông giống như sau:
Array
(
[AK] => Array (
[id_1] = Anchorage
[id_2] = Juneau
)
[CA] => Array (
[id_3] = Los Angeles
[id_4] = San Diego
[id_5] = San Francisco
)
)
Tạo bản trình bày HTML của bạn:
LƯU Ý:Thêm liên kết để phản ánh câu hỏi được đề xuất.
foreach($states as $state_name => $cities)
{
echo '<h3>'.$state_name.'</h3>';
echo '<ul>';
foreach($cities as $id => $city_name)
{
echo '<li><a href="info.html?id='.$id.'">'.$city_name.'</a></li>';
}
echo '</ul>';
}