php省市縣地區(qū)數(shù)據(jù) php 省市縣

php怎么寫出全國的城市地區(qū)?

require?'city.php';

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設,寧化企業(yè)網(wǎng)站建設,寧化品牌網(wǎng)站建設,網(wǎng)站定制,寧化網(wǎng)站建設報價,網(wǎng)絡營銷,網(wǎng)絡優(yōu)化,寧化網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。

//?連接數(shù)據(jù)庫(PDO)

$pdo=new?PDO('mysql:host=localhost;dbname=city','root','root');

$pdo-exec('set?names?utf8');

$pdo-setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE,PDO::FETCH_ASSOC);

//?實例化城市類

$c=new?city();

$result=$c-mycity();

$city_id?=?0;

foreach?($result?as?$k=$value)?{

if(count($value)?==?count($value,1)){

$sql="insert?into?city_province?(province)?value?('{$value['province_name']}')";

$smt=$pdo-prepare($sql);

$smt-execute();

}else{

$sql11="insert?into?city_province?(province)?value?('{$value['province_name']}')";

$smt11=$pdo-prepare($sql11);

$smt11-execute();

foreach?($value['city']?as?$v=$value1)?{

$sql2="insert?into?city_name?(name,province_id)?values?('{$value1['city_name']}','{$k}')";

$smt2=$pdo-prepare($sql2);

$smt2-execute();

$city_id?+=?1;

echo?$city_id.'br';

if(!empty($value1['area'])){

foreach?($value1['area']?as?$valu1e2)?{

$sql3="insert?into?city_area?(area,city_id)?values?('{$valu1e2}','{$city_id}')";

$smt3=$pdo-prepare($sql3);

$smt3-execute();

}

}

}

}

}

城市類太大了,發(fā)不了。

我是把省、市、地區(qū)分別存在三個數(shù)據(jù)表中(我是新手,剛自己寫的)

php怎么實現(xiàn)輸出全國的省市區(qū)?

?php return array (

1 =

array (

'province_name' = '北京市',

'city' =

array (

1 =

array (

'city_name' = '市轄區(qū)',

'area' =

array (

1 = '東城區(qū)',

2 = '西城區(qū)',

3 = '崇文區(qū)',

4 = '宣武區(qū)',

5 = '朝陽區(qū)',

6 = '豐臺區(qū)',

7 = '石景山區(qū)',

8 = '海淀區(qū)',

9 = '門頭溝區(qū)',

10 = '房山區(qū)',

11 = '通州區(qū)',

12 = '順義區(qū)',

13 = '昌平區(qū)',

14 = '大興區(qū)',

15 = '懷柔區(qū)',

16 = '平谷區(qū)',

),

),

2 =

array (

'city_name' = '北京周邊',

'area' =

array (

1 = '密云縣',

2 = '延慶縣',

),

),

),

),

2 =

array (

'province_name' = '天津市',

'city' =

array (

1 =

array (

'city_name' = '市轄區(qū)',

'area' =

array (

1 = '和平區(qū)',

2 = '河東區(qū)',

3 = '河西區(qū)',

4 = '南開區(qū)',

5 = '河北區(qū)',

6 = '紅橋區(qū)',

7 = '塘沽區(qū)',

8 = '漢沽區(qū)',

9 = '大港區(qū)',

10 = '東麗區(qū)',

11 = '西青區(qū)',

12 = '津南區(qū)',

13 = '北辰區(qū)',

14 = '武清區(qū)',

15 = '寶坻區(qū)',

),

),

2 =

array (

'city_name' = '天津周邊',

'area' =

array (

1 = '寧河縣',

2 = '靜??h',

3 = '薊 縣',

),

),

),

),

3 =

array (

'province_name' = '河北省',

'city' =

array (

1 =

array (

'city_name' = '石家莊市',

'area' =

array (

1 = '長安區(qū)',

2 = '橋東區(qū)',

3 = '橋西區(qū)',

4 = '新華區(qū)',

5 = '井陘礦區(qū)',

6 = '裕華區(qū)',

7 = '井陘縣',

8 = '正定縣',

9 = '欒城縣',

10 = '行唐縣',

11 = '靈壽縣',

12 = '高邑縣',

13 = '深澤縣',

14 = '贊皇縣',

15 = '無極縣',

16 = '平山縣',

17 = '元氏縣',

18 = '趙 縣',

19 = '辛集市',

20 = '藁城市',

21 = '晉州市',

22 = '新樂市',

23 = '鹿泉市',

),

),

2 =

array (

'city_name' = '唐山市',

'area' =

array (

1 = '路南區(qū)',

2 = '路北區(qū)',

3 = '古冶區(qū)',

4 = '開平區(qū)',

5 = '豐南區(qū)',

6 = '豐潤區(qū)',

7 = '灤 縣',

8 = '灤南縣',

9 = '樂亭縣',

10 = '遷西縣',

11 = '玉田縣',

12 = '唐??h',

13 = '遵化市',

14 = '遷安市',

),

),

3 =

array (

'city_name' = '秦皇島市',

'area' =

array (

1 = '海港區(qū)',

2 = '山海關區(qū)',

3 = '北戴河區(qū)',

4 = '青龍滿族自治縣',

5 = '昌黎縣',

6 = '撫寧縣',

7 = '盧龍縣',

),

),

4 =

array (

'city_name' = '邯鄲市',

'area' =

array (

1 = '邯山區(qū)',

2 = '叢臺區(qū)',

3 = '復興區(qū)',

4 = '峰峰礦區(qū)',

5 = '邯鄲縣',

6 = '臨漳縣',

7 = '成安縣',

8 = '大名縣',

9 = '涉 縣',

10 = '磁 縣',

11 = '肥鄉(xiāng)縣',

12 = '永年縣',

13 = '邱 縣',

14 = '雞澤縣',

15 = '廣平縣',

16 = '館陶縣',

17 = '魏 縣',

18 = '曲周縣',

19 = '武安市',

),

),

5 =

array (

'city_name' = '邢臺市',

'area' =

array (

1 = '橋東區(qū)',

2 = '橋西區(qū)',

3 = '邢臺縣',

4 = '臨城縣',

關于php+mysql+ajax省市區(qū)三級聯(lián)動菜單,求幫助

基本思想就是:在JS動態(tài)創(chuàng)建select控件的option,通過Ajax獲取在PHP從SQL數(shù)據(jù)庫獲取的省市區(qū)信息,代碼有點長,但很多都是類似的,例如JS中省、市、區(qū)獲取方法類似,PHP中通過參數(shù)不同執(zhí)行不同的select語句。

index.html代碼:

!DOCTYPE?html?PUBLIC?"-//W3C//DTD?XHTML?1.0?Transitional//EN"

""

html?xmlns=""

head

title省市區(qū)三級聯(lián)動/title

META?http-equiv=Content-Type?content="text/html;?charset=gb2312"

script?src="scripts/thumbnails.js"?type="text/javascript"/script

/head

thumbnails.js代碼:

window.onload?=?getProvince;

function?createRequest()?{//Ajax于PHP交互需要對象

try?{

request?=?new?XMLHttpRequest();//創(chuàng)建一個新的請求對象;

}?catch?(tryMS)?{

try?{

request?=?new?ActiveXObject("Msxml2.XMLHTTP");

}?catch?(otherMS)?{

try?{

request?=?new?ActiveXObject("Microsoft.XMLHTTP");

}?catch?(failed)?{

request?=?null;

}

}

}

return?request;

}

function?sech(id)?{//省市改變時觸發(fā),select的onchange事件

var?aa?=?document.getElementById(id);

if(id=="sheng"){

getCity(aa.value);//這里aa.value為省的id

}

if(id=="shi")

{

getCounty(aa.value);//這里aa.value為市的id

}

}

function?getProvince()?{//獲取所有省

request?=?createRequest();

if?(request?==?null)?{

alert("Unable?to?create?request");

return;

}

var?url=?"getDetails.php?ID=0";//ID=0時傳遞至PHP時讓其獲取所有省

request.open("GET",?url,?true);

request.onreadystatechange?=?displayProvince;?//設置回調(diào)函數(shù)

request.send(null);????//發(fā)送請求

}

function?getCity(id){//獲取省對應的市

request?=?createRequest();

if?(request?==?null)?{

alert("Unable?to?create?request");

return;

}

var?url=?"getDetails.php?ID="?+?escape(id);

request.open("GET",?url,?true);

request.onreadystatechange?=?displayCity;

request.send(null);

}

function?getCounty(id){//獲取市對應的區(qū)

request?=?createRequest();

if?(request?==?null)?{

alert("Unable?to?create?request");

return;

}

var?url=?"getDetails.php?ID="?+?escape(id);

request.open("GET",?url,?true);

request.onreadystatechange?=?displayCounty;

request.send(null);

}

function?displayProvince()?{//將獲取的數(shù)據(jù)動態(tài)增加至select

if?(request.readyState?==?4)?{

if?(request.status?==?200)?{

var?a=new?Array;

var?b=request.responseText;//將PHP返回的數(shù)據(jù)賦值給b

a=b.split(",");//通過","將這一數(shù)據(jù)保存在數(shù)組a中

document.getElementById("sheng").length=1;

var?obj=document.getElementById("sheng');??

for(i=0;i

obj.options.add(new?Option(a[i],i+1));?//動態(tài)生成OPTION加到select中,第一個參數(shù)為Text,第二個參數(shù)為Value值.

}

}

}

function?displayCity()?{//將獲取的數(shù)據(jù)動態(tài)增加至select

if?(request.readyState?==?4)?{

if?(request.status?==?200)?{

var?a=new?Array;

var?b=request.responseText;

a=b.split(",");

document.getElementById("shi").length=1;//重新選擇

document.getElementById("xian").length=1;//重新選擇

if(document.getElementById("sheng").value!="province"){

var?obj=document.getElementById('shi');??

for(i=0;i

obj.options.add(new?Option(a[i],?document.getElementById("sheng").value*100+i+1));?//ocument.getElementById("sheng").value*100+i+1對應的是市的ID。

}

}

}

}

function?displayCounty()?{//將獲取的數(shù)據(jù)增加至select

if?(request.readyState?==?4)?{

if?(request.status?==?200)?{

var?a=new?Array;

var?b=request.responseText;

a=b.split(",");

document.getElementById("xian").length=1;

if(document.getElementById("sheng").value!="province"document.getElementById("shi").value!="city"){

var?obj=document.getElementById('xian');??

for(i=0;i

obj.options.add(new?Option(a[i],i+1001));?

}

}

}

}

getDetails.php代碼:

?php

header("Content-Type:?text/html;?charset=gb2312");

$conn?=?new?COM("ADODB.Connection")?or?die("Cannot?start?ADO");

$connstr?=?"Provider=SQLOLEDB;Persist?Security?Info=False;User?ID=root;Password=123456;Initial?Catalog=area;Data?Source=localhost";

if($_REQUEST['ID']==0){//獲得省列表

$conn-Open($connstr);?//建立數(shù)據(jù)庫連接

$sqlstr?=?"select?name?from?Province";?//設置查詢字符串

$rs?=?$conn-Execute($sqlstr);?//執(zhí)行查詢獲得結(jié)果

$num_cols?=?$rs-Fields-Count();?//得到數(shù)據(jù)集列數(shù)

$Province=array();

$i=0;

while?(!$rs-EOF)?{

$Province[$i]=$rs-Fields['name']-Value.",";

$rs-MoveNext();

$i++;

}

foreach($Province?as?$val)

echo?$val;

$conn-Close();

$rs?=?null;

$conn?=?null;

}

if($_REQUEST['ID']0$_REQUEST['ID']35){//獲得省對應的市列表

$conn-Open($connstr);?//建立數(shù)據(jù)庫連接

$sqlstr?=?"select?name?from?City?where?cid=".$_REQUEST['ID'];?//設置查詢字符串

$rs?=?$conn-Execute($sqlstr);?//執(zhí)行查詢獲得結(jié)果

$num_cols?=?$rs-Fields-Count();?//得到數(shù)據(jù)集列數(shù)

$City=array();

$i=0;

while?(!$rs-EOF)?{

$City[$i]=$rs-Fields['name']-Value.",";

$rs-MoveNext();

$i++;

}

foreach($City?as?$val)

echo?$val;

$conn-Close();

$rs?=?null;

$conn?=?null;

}

if($_REQUEST['ID']100){//獲得省市對應的縣列表

$conn-Open($connstr);?//建立數(shù)據(jù)庫連接

$sqlstr?=?"select?name?from?County?where?cid=".$_REQUEST['ID'];?//設置查詢字符串

$rs?=?$conn-Execute($sqlstr);?//執(zhí)行查詢獲得結(jié)果

$num_cols?=?$rs-Fields-Count();?//得到數(shù)據(jù)集列數(shù)

$County=array();

$i=0;

while?(!$rs-EOF)?{

$County[$i]=$rs-Fields['name']-Value.",";

$rs-MoveNext();

$i++;

}

foreach($County?as?$val)

echo?$val;

$conn-Close();

$rs?=?null;

$conn?=?null;

}

?

數(shù)據(jù)庫設計,表格Province表,City表,County表。

要求:Province表需要id和name,id建議從1至34,例如北京id為1,廣東id為2,以此類推;

? ?City表需要id,name和cid,id為cid*100+1,cid為該市的上級,例如深圳的上級為廣東省,cid為2的話,深圳的id就是201,以此類推。

? ?County表需要id,name和cid,因為是三級的關系,id可以隨意,建議從10001開始自增。cid為所在上級,例如寶安區(qū)的cid為201,龍崗區(qū)的cid也為201;

截圖:

HTML效果:

完成后效果:

PHP 省市區(qū)寫在一起 怎樣截取成單個的

有3種方法:

1、手工一行一行的寫成php代碼

2、使用程序分析圖一的數(shù)據(jù),寫入到數(shù)據(jù)庫里,然后動態(tài)查詢

3、使用程序分析圖一的數(shù)據(jù),寫入到數(shù)據(jù)庫里,動態(tài)生成圖二的代碼

怎么用php讀取數(shù)據(jù)庫方式動態(tài)生成省市縣三級聯(lián)動選擇框

需要使用到ajax。到網(wǎng)上查下,一堆。代碼是固定的。

數(shù)據(jù)庫設置

id,area,areaname

1 210000 遼寧省

2 210100 沈陽市

3 210104 大東區(qū)

select name='area1' id='area1' onchange="get_area2(this.value);"

這里讀取省的數(shù)據(jù)

$sql="select area,areaname from area where right(area,4)='0000'";

/select

select name='area2' id='area2 'onchange="get_area(this.value);"

這里根據(jù)ajax讀取數(shù)據(jù),開始的時候是空的

/select

select name='area' id='area'

這里根據(jù)ajax讀取數(shù)據(jù),開始的時候是空的

/select

方法:

1,首先寫get_area2 的js 代碼,這里就用到ajax讀取,這里獲取的數(shù)據(jù)是區(qū)域代碼的前兩位代碼(比如:21)

這個在根據(jù)這個21的參數(shù),讀取表中相關的市,

$sql="select area,areaname from area where left(area,2)='21' and right(area,2)='00'";

這個語句讀取出來21的市代碼

2,同一讀取出來區(qū)的代碼

當前題目:php省市縣地區(qū)數(shù)據(jù) php 省市縣
URL分享:http://muchs.cn/article0/doscioo.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供面包屑導航、企業(yè)網(wǎng)站制作、網(wǎng)站制作商城網(wǎng)站、營銷型網(wǎng)站建設網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設公司