Prova questo..
Interroga tutte le città con lo stato, ordina prima per stato e poi per città:
SELECT id, alphaname, state
FROM regional
ORDER BY state ASC, alphaname ASC
Organizza il tuo set di dati in un array a 2 dimensioni:
$states = array();
while($thearray = mysql_fetch_array($list))
{
$states[$thearray[state]][$thearray[id]] = $thearray[alphaname];
}
Ora i contenuti del tuo $states
dovrebbe assomigliare a:
Array
(
[AK] => Array (
[id_1] = Anchorage
[id_2] = Juneau
)
[CA] => Array (
[id_3] = Los Angeles
[id_4] = San Diego
[id_5] = San Francisco
)
)
Genera la tua presentazione HTML:
NOTA:aggiungi un'ancora per riflettere la domanda proposta.
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>';
}