Uno de los problemas de un proyecto Web el cual necesita tener referencias de países, provincias y localidades con la mayor cantidad correcta de registros es, precisamente, encontrar una buena base de datos.
Después de buscar y buscar encontré una URL donde nos ofrecen una base de datos con países, provincias y localidades de todo el mundo (lo del todo no es una afirmación exacta, pero sí aproximada) en ocho idiomas diferentes (Ruso, Inglés, Alemán, Francés, Castellano, Italiano, Portugués y Chino).
A parte de los más de 200 países, casi 2.000 provincias y sus casi 130.000 localidades, viene acompañado de su posición (latitud y longitud) de Google Maps (aunque no todas son exactas).
Os dejo el enlace con esta base de datos de países, provincias y localidades de todo el mundo.
No he podido dejar referencia del sitio donde la encontré porque la URL hacia el fichero era un servidor de Rapidshare y no mencionaba ninguna otra Web.
Espero que sea de utilidad este listado de países y sus provincias.
Edito: En el listado de países y sus provincias se ha detectado algunas duplicidades en la tabla de localidades (mismo país, misma región, mismo idioma y mismo nombre de localidad con diferente ID). Para solventar esto, he creado un pequeño script PHP:
$sql = "SELECT count(id) as total, localidades.* FROM `localidades` group by id_region, ". "id_pais, id_idioma, nombre having total > 1";$contador = 0; $res = $conexion->db_query($sql); echo "Total seleccioandas: " . $conexion->db_num_rows($res); echo "<br>"; while ($row = $conexion->db_fetch_array($res)){ $sql = "DELETE FROM localidades WHERE id_region = '{$row['id_region']}' ". " AND id_pais = '{$row['id_pais']}' AND nombre = \"{$row['nombre']}\" ". " AND id_idioma = '{$row['id_idioma']}' AND id <> '{$row['id']}'"; if (!$conexion->db_query($sql)){ echo $sql."<br>".$conexion->db_error()."<br><br>"; die; } else $contador++; } echo "Total: $contador";
Commentarios