Provincias y Localidades en PHP
Las tablas de municipios, provincias, departamentos o localidades en una aplicación web es algo que muchos en algún momento necesitamos considerar. Cada aplicación puede usar su propio diseño pero sin duda lo primero que resulta tentador es buscar en Internet otras implementaciones o soluciones que nos permitan aprovechar contenido en lugar de reinventar la rueda.

Ya sea en una base de datos MySQL, en una planilla de Excel o en un archivo de textos o array, la lista de localidades es necesaria para sistemas web que necesiten implementar un sistema de búsqueda basado en ciudades, provincias, o inclusive en código postal de cada localidad o región.
Veamos entonces algunos enlaces interesantes que pueden ayudar a esta búsqueda de implementar un sistema de localidades en PHP u otro, de distintas regiones del mundo, incluyendo España y otros países.
Lista de Países
Lo primero que debemos considerar en toda estructura de localidades es que cada localidad pertenece a un país. Existe una estandarización ISO 3166 de países con abreviaciones que nos puede ayudar.
Obtener lista de países del mundo.

En Hello Google se presenta un interesante artículo donde se detalla una implementación de combo dinámico en AJAX para las localidades y provincias de España, pero también aplica para otras localidades siempre y cuando hagamos los cambios necesarios en el XML. (A esta altura ya no vale la crítica de que corre solo en PHP5)
Lista de Provincias y Localidades
Una vez que tenemos los países, será necesario vincular cada provincia o localidad (ciudad) con cada país. Si tenemos un sitio focalizado en un solo país entonces la tarea será más fácil. En cambio, si tenemos un sitio que debe soportar mútiples países entonces tendremos que hacer un trabajo mayor para vincular todas las posibles localidades dentro de cada país. Para esto podemos utilizar distintos formatos, CSV y luego importar a MySQL, Script MySQL, o utilizar PHP con XML, entre muchas otras alternativas que dependerán del diseño de tu sistema.
En el INE (Instituto Nacional de Estadística) se publica una relación de comunidades autónomas y municipios de España que sin duda pueden sacarte de un apuro.
Para el resto del mundo, quizás lo que nos convenga sea utilizar la base de datos de localidades que ofrece Geonames, las cuales podemos bajar gratis desde aquí. Estas bases de datos se encuentran comprimidas en .zip y presentan archivos de texto para cada país que podemos usar para importar luego en una base de datos. Dispone de una completa lista de localidades por país inclusive latitud/longitud y otros datos como zona horaria, entre otros.
Tabla para MySQL de localidades en España
David Bayon nos presenta un interesante artículo donde enseña a poner estos datos de localidades y provincias en una tabla de base de datos mediante phpMyAdmin. En primer lugar utiliza la opción de Excel “exportar a CSV” y luego phpMyAdmin para importar los datos en la base de datos mediante una ejecución de SQL.
Otras aplicaciones
Las aplicaciones de la lista de países y localidades pueden ser muchas, desde mostrar datos en un mapa de localidades, hasta desplegar combos o múltiples selectores que permitan al usuario seleccionar su localidad para una búsqueda o previo a ingresarlo a la base de datos. Sin duda tener a mano algunos recursos como estos puede ayudar a más de uno.
Artículos relacionados:
- Lista de Países (Base de Datos)
Casi siempre que hay que programar alguna aplicación se necesita... - Base de Datos de Localidades del Mundo
A la hora de programar una aplicación web global, en... - Geonames
Geonames se trata de una colección de datos geolocalizados que... - MySQL Workbench: Alternativa a phpMyAdmin
MySQL Workbench (anteriormente conocida como DB Designer) es una alternativa...