2012-01-09 55 views
0

在哪里可以找到欧洲国家和相关城市的数据库,以在网页中实施国家/城市下拉列表(动态)?网页中的国家/城市下拉列表

更新:我对某些数据库感兴趣,我可以使用javascript或php源代码。这是为了避免手动工作。

我的回答:我发现多了一个不错的免费资源:http://www.geodatasource.com/world-cities-database

+1

http://en.wikipedia.org/wiki/Lists_of_cities_by_country – ThePower 2012-01-09 09:09:00

+0

谢谢,但I'm更感兴趣在数据库中,我可以简单地从PHP或JavaScript连接。在这种情况下,我可以避免hudge手动工作。 – 2012-01-09 09:11:25

回答

2

MaxMind World Cities是一个免费的列表,您可以下载并在您的应用程序中使用(假设许可证可以用于您的目的)。否则,他们也会得到一个web服务(尽管你必须为此付费)。

另一种方法是GeoNames。在XML

2

http://en.wikipedia.org/wiki/Europe#Political_geography

维基百科始终工作:)

出于某种原因,我想大概只有首都,但我猜你的意思是所有城市。

看看: http://download.geonames.org/export/dump/

退房拥有更多信息的readme.txt。 也许cities1000.zip可以作为你的基地。也许你需要创建一个你想要的国家的数据库,然后通过ISO代码或者其他的东西从上面的链接中过滤列表。

自述文件还提到了一些大陆代码,所以也许可以使用?

+0

那么,你觉得我可以在我的源代码中使用这个维基百科链接?:) – 2012-01-09 09:14:34

+0

在更新之前发布,但我已经更新了我的帖子。 :)也许你可以从维基百科解析html,但这是非常不可靠的(不是一个严肃的建议):) – Sverker84 2012-01-09 09:31:08

0

您需要使用jquery for dynamic ajax下拉列表。看到这里的PHP/AJAX脚本 -

http://myip.ms/info/cities_sql_database/

城市表格的形式将是 -

CREATE TABLE `cities` (
    `cityID` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, 
    `cityName` varchar(50) NOT NULL, 
    `stateID` smallint(5) unsigned NOT NULL DEFAULT '0', 
    `countryID` varchar(3) NOT NULL DEFAULT '', 
    `language` varchar(10) NOT NULL DEFAULT '', 
    `latitude` double NOT NULL DEFAULT '0', 
    `longitude` double NOT NULL DEFAULT '0', 
    PRIMARY KEY (`cityID`), 
    UNIQUE KEY `unq` (`countryID`,`stateID`,`cityID`), 
    KEY `cityName` (`cityName`), 
    KEY `stateID` (`stateID`), 
    KEY `countryID` (`countryID`), 
    KEY `latitude` (`latitude`), 
    KEY `longitude` (`longitude`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8;