A prima vista mi pare che la tua tabella contenga principalmente le città, ossia contiene il nome delle città e per ognuna di queste ha il valore della Regione e della Nazione.
Indi per cui, se così fossi puoi utilizzare la clausola MySQL GROUP BY per raggruppare i record in base al valore che devi prendere.
Esempio:
Codice PHP:
$query_nazione = "SELECT Nazione FROM location GROUP BY Nazione ORDER BY Nazione ASC";
$query_regione = "SELECT Regione FROM location GROUP BY Regione ORDER BY Regione ASC";
$query_citta = "SELECT Citta FROM location ORDER BY citta ASC";
GROUP BY ha il compito di raggruppare tutti i record in base al campo selezionato, per cui nel primo caso andrà a raggruppare tutti i record in base al nome delle nazioni, quindi, dove il nome delle nazioni è uguale, verrà visualizzato un solo record.
Nel caso delle città non dovrebbe servire, ma se servisse masta aggiungere prima di ORDER BY: GROUP BY Citta
Un'altra alternativa è utilizzare la funzione sempre del MySQL DISTINCT()
Esempio:
Codice PHP:
$query_nazione = "SELECT DISTINCT(nazione) FROM location ORDER BY nazione ASC";
// E così via le altre queries
DISTINCT esegue più o meno la stessa funzione di GROUP BY, per cui visualizza tutti i record, in questo caso delle nazioni, raggruppando là dove il campo da distinguere è uguale.