Ma con questa query non ottini alcun errore???$query = "SELECT * FROM comuni WHERE ID_PROVINCIA ='" . $id_provincia . "' ORDER BY COMUNE = '$provincia' DESC , COMUNE ASC";
Io non ho mai visto una dicitura come quella che ti ho messo in grassetto.
Ad ogni modo, credo che per quello che vuoi fare te, la query debba essere un po' più complessa.
Come prima cosa, credo sia il caso di aggiungere un campo alla tabella dei comuni: ci puoi inserire un identificativo, tipo 0 per il capoluogo di regione, 1 per capoluogo di provincia e 2 per il semplice comune.
Questo perché per ogni comune puoi settare la provincia di appartenenza ed utilizzare GROUP BY per raggruppare tutti i comuni della stessa provincia, magari in ordine di NOME ASC (quindi in ordine alfabetico).
Torno a ripetere: il problema non è solo nella query, ma nella struttura della tabella.
![]()