Cerca nel blog

Pubblicità

banner-125x125 banner-125x125 banner-125x125 banner-125x125

Feed RSS e Newsletter

Puoi seguire il mio blog abbonandoti al feed RSS, se non sai cos'è un feed RSS prova a guardare questo video... Spiega tutto!

Icona Feed RSS

Twitter

PayPal

Se ti piace questo blog puoi pensare ad una donazione.

Tutti i fondi ricevuti saranno utilizzati per il mio sollazzo personale. :-)

Ultimi commenti...

Luca: Ext è veramente un bel framework, forse il migliore per produrre interfacce coerenti. Purtroppo la licenza lo...

carlo: Io l’ho dovuto usare per un esame (la versione 2), ma il professore me l’ha fatto odiare. Però,...

gianluca: si proprio non c’è niente di peggio che aver scritto ore di css e javascript soddisfattissimi del...

Alesio: molto interessante e molto comodo, non vedo l’ora.

Mitì: Bello davvero, grazie!

Regioni, province e comuni italiani

giovedì 5 marzo 2009
1 Star2 Stars3 Stars4 Stars5 Stars (1 voti, media: 5,00)
Loading ... Loading ...

Quella che sto per regalarvi è una cosa che tutti gli sviluppatori web italiani  prima o poi si ritrovano a cercare: ho sempre fatto fatica a trovare liste complete, aggiornate o formattate come dicevo io, quindi me la sono costruita da solo.

Esatto: come avrete sicuramente capito dal titolo del post (bravi) si tratta del database completo degli 8100 comuni italiani, associati correttamente alle province (con sigla automobilistica definita a norma di legge) e alle regioni di appartenenza.

Il tutto aggiornato alla data del 01/01/2009 (fonte ISTAT)

Ovviamente qui non stiamo a far pascolare le galline (cit.) e ho deciso di condividerla con voi in uno slancio di generosità.

Fatene quello che volete, tanto anche se vi chiedo di citarmi in caso di utilizzo o di rispettare una qualsivoglia licenza non lo farete, alla facciazza mia (e delle licenze).

Si tratta di tre tabelle così strutturate:

Regioni:

id int(11)
regione text

Province:

id int(11)
id_regione int(11)
provincia text
sigla varchar(2)

Comuni:

id int(11)
id_regione int(11)
id_provincia int(11)
comune text

Come potete vedere, oltre a selezionare province e comuni partendo dalla regione è anche possibile partire da un comune e risalire a provincia e/o alla regione di appartenenza: i dati sono fin troppo ridondanti. :)

Già che ci sono vi regalo anche un esempio di modulo creato con PHP che utilizza i dati provenienti dal database e che cambia i valori possibili per una select in base al valore selezionato in quella precedente (la versione AJAX-powered ve la lascio come esercizio). Lo trovate qui.

Dimenticavo: ecco anche il database MySQL da scaricare.

Questo articolo è stato pubblicato giovedì, 5 marzo 2009 alle ore 09:14 Se non vuoi perdere nemmeno un articolo del mio blog abbonati al feed RSS. Se non sai cos'è un feed RSS puoi guardare questo video, spiega tutto!

In alternativa puoi abbonarti alla newsletter, riceverai un'email ogni volta che verrà pubblicato un nuovo post. Il tuo indirizzo email sarà gestito da Feedburner.

  

43 Commenti a “Regioni, province e comuni italiani”

  1. Pino scrive:

    Rispetto! Grazie mille :razz:

  2. Raibaz scrive:

    Ottima cosa, non ne ho bisogno ora (ho scritto una cosa simile Ajax-based settimana scorsa, la pubblicherei ma è troppo custom) ma è uno di quegli snippet che servono sempre…grazie :)

  3. n3GRo scrive:

    è un ottima cosa averlo già pronto e solo da importare. anche xchè l’istat te li passa in csv (se non erro). Non era meglio usare come chiavi i codici istat? (anche se con gli auto increment hai risparmiato qualche byte ;D )

  4. Napolux scrive:

    @ n3GRo:
    Beh, chiamala comodità. :)

  5. pecciola scrive:

    Sempre comodo da tenere a portata di mano anche se attualmente non mi occorre.
    Ma io sapevo ‘Non stiamo qui a pettinar le bambole’…vedi che si imparano anche nuove citazioni e non solo script
    :eek:

  6. NicK scrive:

    Intanto GRAZIE!
    Se riesco ad utilizzarlo, anche se mi servirebbe per un’idea interna, ti prometto di citarti (ne puoi essere certo).

    Mi permetti una domanda?
    Non è che sai dove poter reperire gli elenchi degli ABI e CAB?
    Anche solo dove poter reperire informazioni.

  7. dag scrive:

    Parli di poter risalire da comune a provincia/regione, ma il tuo script non lo fa… Effettivamente, considerando che sono più di 8000 comuni, la select dei comuni (all’inizio) sarebbe un po’ troppo lunga (8000 option…).

    A parte il discorso tecnico (che non rappresenta un problema), dove hai trovato la fonte? Non dirmi che hai fatto il lavoro di indicizzazione a mano…

    Dove è possibile scaricare un tracciato (ovviamente da adattare alle esigenze) con tutti i dati? Tra qualche tempo il tuo sarà (per forza) obsoleto, quindi vorrei sapere se esiste una fonte aggiornata e ufficiale…

  8. Napolux scrive:

    NicK ha scritto:

    Non è che sai dove poter reperire gli elenchi degli ABI e CAB?
    Anche solo dove poter reperire informazioni.

    Ah bella domanda… Credo siano a pagamento, male che vada puoi provare a mandare una mail all’ABI…

  9. Napolux scrive:

    @ dag:
    Il mio script non lo fa, ma la testolina l’avete anche voi… :mrgreen: E poi la select dei comuni è bella “grossa”.

    Comunque i dati li ho presi in formato XLS e me li sono importati bellamente nel DB (ovviamente relazionando il tutto) dal sito dell’ISTAT. :P

    http://www.istat.it/strumenti/definizioni/comuni/

  10. dag scrive:

    Grazie ;)

  11. Matteo_M scrive:

    Pazzesco… grazie Napolux, di sicuro mi servirà parecchio visto il tipo di siti con cui mi sto barcamenando ultimamente :D

  12. slacko scrive:

    Potevi pensarci un paio di settimane fa? :mad:
    Comunque grazie, torna sempre utile :wink:

  13. Napolux scrive:

    @ pecciola:
    Quella sulle galline è una frase pronunciata da un mio vecchio (e strambo) professore delle superiori entrata poi nel gergo della mia vecchia scuola. ;)

  14. Daniele scrive:

    Ottimo lavoro! Per integrare il tuo articolo, ti segnalo anche la mia risorsa: Array delle nazioni del mondo e delle province italiane.
    Ciao!

  15. RSS Week #45: articoli interessanti che ho trascurato - Matteo Moro scrive:

    [...] Database di regioni, province e comuni italiani [...]

  16. Attilio Viscido scrive:

    Estremamente utile. Grazie mille !! :)

  17. andrea scrive:

    Ciao, sto sviluppando il sito per il mio liceo, e insieme al prof stiamo sviluppando una anagrafica degli studenti. Mi sarebbe molto utile il codice php che genera le form, è chiedere tanto?
    Comunque grazie, io ho iniziato a sviluppare in php quest’anno, spero di imparare al più presto.
    ciao
    andrea

  18. Napolux scrive:

    @andrea:
    E’ mia abitudine lasciare sempre qualcosa di incompiuto in modo da evitare la classica “pappa pronta”.

    Quello che chiedi è comunque codice davvero banale: si tratta di fare query sul database e poi stamparne i risultati. Ovviamente le query ricevono come parametro della clausola WHERE la regione o la provincia (a seconda di quel che stai cercando).

    Guarda il manuale.

  19. andrea scrive:

    @ Napolux:
    Grazie mille, ci provo!

  20. andrea scrive:

    @ Napolux:
    ciao, ci sono riuscito, ho solo un piccolo problemino. In pratica quando seleziono la provincia, mi si popola correttamente la select dei comuni ma non mi rimane selezionata la provincia, mi torna al valore iniziale (Seleziona una provincia), puoi darmi una dritta?
    Grazie comunque per la tua disponibilità!

  21. Napolux scrive:

    @ andrea:
    Devi tenere conto della provincia (e riselezionarla) quando ristampi la pagina! :)

  22. andrea scrive:

    @ Napolux:
    grazie per tutti i consigli, alla fine ci sono riuscito!

  23. Napolux scrive:

    @ andrea:
    Bene! Non è più soddisfacente fare tutto da soli? :P

  24. luca scrive:

    comunque l’esempio dato non è fatto in ajax, la pagina si ricarica…

  25. Napolux scrive:

    @ luca:
    Beh, è scritto grande così

    “la versione AJAX-powered ve la lascio come esercizio”

    ovvero: devi farla da solo :P

  26. pallu scrive:

    Napo Santo subito!

  27. pino scrive:

    non riesco a realizzare un modulo php da collegare al database, qualcuno può aiutarmi? Grazie

  28. Napolux scrive:

    @ pino:
    Leggi qua.

  29. pino scrive:

    Grazie ma non mi ha chiarito molto le idee, non programmo in php. Potresti avere la bontà di inviarmi il file o il codice?@ Napolux:

  30. Napolux scrive:

    @ pino:
    Chi non è programmatore PHP non dovrebbe programmare PHP ;)

    P.s.
    Mandarti il codice per me è lavoro. Il lavoro si paga di solito. Non ti passerebbe mai per la testa di andare a chiedere un cappuccino gratis in un bar (anche se è una cifra irrisoria), allora perché dovrei lavorare gratis per te (anche se è un lavoro di 5 minuti)?

    Ti ho dato le informazioni che cercavi. Sta a te elaborarle e cavarci fuori qualcosa. Oppure pagare qualcuno che faccia il lavoro che non sai fare.

  31. pino scrive:

    Non ti scaldare, pensavo che avessi già il codice pronto e che visto che hai condiviso il database, fare lo stesso con il resto non fosse un problema. Un po di collaborazione no, eh?

  32. pino scrive:

    In ogni caso che costo avrebbe il codice volendolo pagare?@ pino:

  33. Attilio Viscido scrive:

    Pino, Napolux ha ragione. Non credo che si sia adirato :)

    Un po di intraprendenza ti caverà d’impiccio, e se poi arrivi ad un punto in cui dici “qua non riesco ad andare avanti”, troverai un sacco di amici pronti ad aiutarti.

    Ma la pappa pronta non l’avrai mai da nessun informatico (almeno uno serio eh :P )

  34. Napolux scrive:

    @ pino:
    Nessuno si sta scaldando qui ;)

    Pagare? Vediamo… Dovresti darmi delle specifiche precise di cosa deve fare questo codice, detto questo ti farei un’offerta commerciale con un prezzo, al versamento del 35% della somma concordata comincerò a lavorarci e poi alla consegna emetterò fattura (ovviamente).

    Detto questo non so quanto ti convenga tra IVA e tutto il resto.

    La questione qui non è il pagare, ma come dice Attilio è il chiedere (o pretendere) la pappa pronta. E non è solo il tuo caso, credi a me.

    Buona serata.

  35. pino scrive:

    Sono pienamente daccordo sul valore delle proprie capacità e penso che ognuno abbia ragione di esserne geloso. Credo che non siano questi però i casi per cui vale la pena di fare i preziosi, anche perchè se uno costruisce un blog è anche per condividere con la community.
    L’intraprendenza non mi manca, mi sono sempre fatto tutto da solo. Questo script è solo una minima parte di un progetto che prevede la selezione di alcuni elementi da collegare a diversi link, è per questo che non volevo perderci molto tempo per studiare il codice, tempo che sto dedicando ad altro. Non voglio essere polemico, però ci tengo a precisare che non sono lo scroccone di turno e se posso dare una mano a qualcuno lo faccio, specie se a me costa poco o niente……
    Saluti a Napolux, che ammiro comunque per il lavoro svolto.

  36. Attilio Viscido scrive:

    Bhè, allora diciamola cosi (almeno il mio punto di vista ;) ); dal modo in cui hai posto la richiesta sembrava che tu pretendessi la pagina, ci siamo fraintesi :)

    Detto questo, non è detto che Napolix possa comunque impiegare del tempo per realizzare tale pagina :)

  37. marco frattola (sbarrax) scrive:

    condividere la *conoscenza* con la community è una cosa, scrivere del codice è un’altra

    è la stessa differenza che passa tra l’insegnare a coltivare e coltivare nella realtà, o come in qualunque altro ambito in cui c’è un insegnante/esperto che trasmette la conoscenza, e lo studente/praticante che deve applicare nel concreto queste conoscenze

    è come se chiedessi al mio professore di sistemi di venirmi a scrivere lui il codice al lavoro…

  38. Chiederesti mai un cappuccino gratis? | Napolux.com scrive:

    [...] Il commento dato in risposta a Pino (l’esempio del cappuccino mi pare calzante) riapre una discussione a me molto cara sin da quando ho aperto il blog: prova ne è qualche post scritto in passato. [...]

  39. Pino scrive:

    Oh caspita, mi ero perso la diatriba finale.
    Volevo solo precisare una cosa: il “Pino” del primo commento non è lo stesso “pino” dei commenti dopo :grin:

  40. pino scrive:

    Allora, ho realizzato la pagina php, con i tre elenchi delle regioni, province e comuni. Ho richiamato i dati dal database. L’unica cosa è che non conosco la funzione per rendere gli elenchi dipendenti l’uno dall’altro. Potete aiutarmi? Grazie
    Allego il codice php:

    <option value=”">
    0) {
    mysql_data_seek($Recordset1, 0);
    $row_Recordset1 = mysql_fetch_assoc($Recordset1);
    }
    ?>

    <option value=”">
    0) {
    mysql_data_seek($Recordset2, 0);
    $row_Recordset2 = mysql_fetch_assoc($Recordset2);
    }
    ?>

    <option value=”">
    0) {
    mysql_data_seek($Recordset3, 0);
    $row_Recordset3 = mysql_fetch_assoc($Recordset3);
    }
    ?>

  41. Napolux scrive:

    @ pino:
    Devi rifare le query al change delle tue select. Se guardi il sorgente dell’esempio vedrai che è assegnata una funzione JS al cambio della select che fa il refresh della pagina con alcuni parametri passati (per mantenere lo stato corrente)

  42. pino scrive:

    Se l’esempio a cui ti riferisci è quello si badpenguin, non trovo la funzione JS di cui parli. Parliamo dello stesso esempio?

  43. Napolux scrive:

    @ pino:
    Veramente parlavo dell’esempio presente alla fine del mio post… Chi è bad penguin? :roll: