これを試してください..
すべての都市を州でクエリし、最初に州、次に都市で並べ替えます:
SELECT id, alphaname, state
FROM regional
ORDER BY state ASC, alphaname ASC
データセットを2次元配列に整理します:
$states = array();
while($thearray = mysql_fetch_array($list))
{
$states[$thearray[state]][$thearray[id]] = $thearray[alphaname];
}
これで、$states
のコンテンツが表示されます 次のようになります:
Array
(
[AK] => Array (
[id_1] = Anchorage
[id_2] = Juneau
)
[CA] => Array (
[id_3] = Los Angeles
[id_4] = San Diego
[id_5] = San Francisco
)
)
HTMLプレゼンテーションを生成します:
注:提案された質問を反映するためにアンカーを追加します。
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>';
}