micio86, l'utente ha posto una domanda con molta cortesia e, come è giusto che sia, immagino che si aspetti una risposta altrettanto cortese. Capisco che per molti di noi la soluzione al problema sia ovvia, ma non possiamo aspettarci che siano tutti esperti in materia, e perciò non c'è alcun bisogno di ridere in faccia alla gente; uno staffer non oserebbe mai farlo, figuriamoci un utente regolare! Ti invito a fare più attenzione in futuro.
Detto questo, solitamente si usano più database solamente se, sullo stesso server, si eseguono più applicazioni Web, ad esempio se si vuole gestire un blog e un forum. A volte (soprattutto nel caso degli hosting gratuiti perché impongono molte limitazioni) anche in questo caso viene usato un solo database! Penso quindi che non sia necessario creare un database per ogni regione (anche perché sarebbe poco pratico, pensa se decidessi di cambiare la struttura della tabella in futuro: dovresti modificare 20 tabelle!).
Semplicemente io creerei una tabella
regioni strutturata così:
Codice:
CREATE TABLE IF NOT EXISTS `regioni` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`nome` varchar(60) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
E una tabella
utenti strutturata così:
Codice:
CREATE TABLE IF NOT EXISTS `utenti` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`regione` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
Ovviamente in questa tabella dovrai aggiungere altri campi, ad esempio
nome,
cognome, etc. Nel campo
regione inserirai l'ID della regione che l'utente ha selezionato.