Sono proprio fuso. Bastavano due query annidate. Posto comunque la soluzione.
Codice PHP:
$query_localita = mysql_query("select distinct localita from hotels where regione = 'corsica' order by localita") or die(mysql_error());
while ($row = mysql_fetch_array($query_localita) )
{
$localita = $row['localita'];
echo "[b]$localita[/b]";
echo "
";
$query_hotel = mysql_query("select struttura from hotels where regione = 'corsica' and localita = '$localita' ") or die(mysql_error());
while ($row2 = mysql_fetch_array($query_hotel) )
{
$hotel = $row2['struttura'];
echo $hotel;
echo "
";
}
echo "
";
}