2012-01-09 52 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;