導航:首頁 > 編程語言 > php獲取省市區

php獲取省市區

發布時間:2022-05-14 17:01:33

『壹』 php怎麼實現輸出全國的省市區

<?php return array (
1 =>
array (
'province_name' => '北京市',
'city' =>
array (
1 =>
array (
'city_name' => '市轄區',
'area' =>
array (
1 => '東城區',
2 => '西城區',
3 => '崇文區',
4 => '宣武區',
5 => '朝陽區',
6 => '豐台區',
7 => '石景山區',
8 => '海淀區',
9 => '門頭溝區',
10 => '房山區',
11 => '通州區',
12 => '順義區',
13 => '昌平區',
14 => '大興區',
15 => '懷柔區',
16 => '平谷區',
),
),
2 =>
array (
'city_name' => '北京周邊',
'area' =>
array (
1 => '密雲縣',
2 => '延慶縣',
),
),
),
),
2 =>
array (
'province_name' => '天津市',
'city' =>
array (
1 =>
array (
'city_name' => '市轄區',
'area' =>
array (
1 => '和平區',
2 => '河東區',
3 => '河西區',
4 => '南開區',
5 => '河北區',
6 => '紅橋區',
7 => '塘沽區',
8 => '漢沽區',
9 => '大港區',
10 => '東麗區',
11 => '西青區',
12 => '津南區',
13 => '北辰區',
14 => '武清區',
15 => '寶坻區',
),
),
2 =>
array (
'city_name' => '天津周邊',
'area' =>
array (
1 => '寧河縣',
2 => '靜海縣',
3 => '薊縣',
),
),
),
),
3 =>
array (
'province_name' => '河北省',
'city' =>
array (
1 =>
array (
'city_name' => '石家莊市',
'area' =>
array (
1 => '長安區',
2 => '橋東區',
3 => '橋西區',
4 => '新華區',
5 => '井陘礦區',
6 => '裕華區',
7 => '井陘縣',
8 => '正定縣',
9 => '欒城縣',
10 => '行唐縣',
11 => '靈壽縣',
12 => '高邑縣',
13 => '深澤縣',
14 => '贊皇縣',
15 => '無極縣',
16 => '平山縣',
17 => '元氏縣',
18 => '趙縣',
19 => '辛集市',
20 => '藁城市',
21 => '晉州市',
22 => '新樂市',
23 => '鹿泉市',
),
),
2 =>
array (
'city_name' => '唐山市',
'area' =>
array (
1 => '路南區',
2 => '路北區',
3 => '古冶區',
4 => '開平區',
5 => '豐南區',
6 => '豐潤區',
7 => '灤縣',
8 => '灤南縣',
9 => '樂亭縣',
10 => '遷西縣',
11 => '玉田縣',
12 => '唐海縣',
13 => '遵化市',
14 => '遷安市',
),
),
3 =>
array (
'city_name' => '秦皇島市',
'area' =>
array (
1 => '海港區',
2 => '山海關區',
3 => '北戴河區',
4 => '青龍滿族自治縣',
5 => '昌黎縣',
6 => '撫寧縣',
7 => '盧龍縣',
),
),
4 =>
array (
'city_name' => '邯鄲市',
'area' =>
array (
1 => '邯山區',
2 => '叢台區',
3 => '復興區',
4 => '峰峰礦區',
5 => '邯鄲縣',
6 => '臨漳縣',
7 => '成安縣',
8 => '大名縣',
9 => '涉縣',
10 => '磁縣',
11 => '肥鄉縣',
12 => '永年縣',
13 => '邱縣',
14 => '雞澤縣',
15 => '廣平縣',
16 => '館陶縣',
17 => '魏縣',
18 => '曲周縣',
19 => '武安市',
),
),
5 =>
array (
'city_name' => '邢台市',
'area' =>
array (
1 => '橋東區',
2 => '橋西區',
3 => '邢台縣',
4 => '臨城縣',

『貳』 怎麼用php讀取資料庫方式動態生成省市縣三級聯動選擇框

需要使用到ajax。到網上查下,一堆。代碼是固定的。
資料庫設置
id,area,areaname
1 210000 遼寧省
2 210100 沈陽市
3 210104 大東區

<select name='area1' id='area1' onchange="get_area2(this.value);">
這里讀取省的數據
$sql="select area,areaname from area where right(area,4)='0000'";
</select>
<select name='area2' id='area2 'onchange="get_area(this.value);">
這里根據ajax讀取數據,開始的時候是空的
</select>
<select name='area' id='area'>
這里根據ajax讀取數據,開始的時候是空的
</select>

方法:
1,首先寫get_area2 的js 代碼,這里就用到ajax讀取,這里獲取的數據是區域代碼的前兩位代碼(比如:21)
這個在根據這個21的參數,讀取表中相關的市,
$sql="select area,areaname from area where left(area,2)='21' and right(area,2)='00'";
這個語句讀取出來21的市代碼

2,同一讀取出來區的代碼

『叄』 關於php+mysql+ajax省市區三級聯動菜單,求幫助

基本思想就是:在JS動態創建select控制項的option,通過Ajax獲取在PHP從SQL資料庫獲取的省市區信息,代碼有點長,但很多都是類似的,例如JS中省、市、區獲取方法類似,PHP中通過參數不同執行不同的select語句。

index.html代碼:

<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<title>省市區三級聯動</title>
<METAhttp-equiv=Content-Typecontent="text/html;charset=gb2312">
<scriptsrc="scripts/thumbnails.js"type="text/javascript"></script>
</head>

thumbnails.js代碼:

window.onload=getProvince;


functioncreateRequest(){//Ajax於PHP交互需要對象

try{

request=newXMLHttpRequest();//創建一個新的請求對象;

}catch(tryMS){

try{

request=newActiveXObject("Msxml2.XMLHTTP");

}catch(otherMS){

try{

request=newActiveXObject("Microsoft.XMLHTTP");

}catch(failed){

request=null;

}

}

}

returnrequest;

}


functionsech(id){//省市改變時觸發,select的onchange事件


varaa=document.getElementById(id);

if(id=="sheng"){

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

}

if(id=="shi")

{

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

}


}


functiongetProvince(){//獲取所有省

request=createRequest();

if(request==null){

alert("Unabletocreaterequest");

return;

}

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

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

request.onreadystatechange=displayProvince;//設置回調函數

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

}


functiongetCity(id){//獲取省對應的市

request=createRequest();

if(request==null){

alert("Unabletocreaterequest");

return;

}

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

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

request.onreadystatechange=displayCity;

request.send(null);

}


functiongetCounty(id){//獲取市對應的區

request=createRequest();

if(request==null){

alert("Unabletocreaterequest");

return;

}

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

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

request.onreadystatechange=displayCounty;

request.send(null);

}
functiondisplayProvince(){//將獲取的數據動態增加至select

if(request.readyState==4){

if(request.status==200){

vara=newArray;

varb=request.responseText;//將PHP返回的數據賦值給b

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

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

varobj=document.getElementById("sheng');

for(i=0;i

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


}

}

}
functiondisplayCity(){//將獲取的數據動態增加至select

if(request.readyState==4){

if(request.status==200){

vara=newArray;

varb=request.responseText;

a=b.split(",");

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

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

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

varobj=document.getElementById('shi');

for(i=0;i

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

}


}

}

}


functiondisplayCounty(){//將獲取的數據增加至select

if(request.readyState==4){

if(request.status==200){

vara=newArray;

varb=request.responseText;

a=b.split(",");

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

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

varobj=document.getElementById('xian');

for(i=0;i

obj.options.add(newOption(a[i],i+1001));

}


}

}

}

getDetails.php代碼:

<?php

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

$conn=newCOM("ADODB.Connection")ordie("CannotstartADO");

$connstr="Provider=SQLOLEDB;PersistSecurityInfo=False;UserID=root;Password=123456;InitialCatalog=area;DataSource=localhost";

if($_REQUEST['ID']==0){//獲得省列表
$conn->Open($connstr);//建立資料庫連接
$sqlstr="selectnamefromProvince";//設置查詢字元串
$rs=$conn->Execute($sqlstr);//執行查詢獲得結果
$num_cols=$rs->Fields->Count();//得到數據集列數
$Province=array();
$i=0;
while(!$rs->EOF){
$Province[$i]=$rs->Fields['name']->Value.",";
$rs->MoveNext();
$i++;
}
foreach($Provinceas$val)
echo$val;
$conn->Close();
$rs=null;
$conn=null;
}
if($_REQUEST['ID']>0&&$_REQUEST['ID']<35){//獲得省對應的市列表
$conn->Open($connstr);//建立資料庫連接
$sqlstr="selectnamefromCitywherecid=".$_REQUEST['ID'];//設置查詢字元串
$rs=$conn->Execute($sqlstr);//執行查詢獲得結果
$num_cols=$rs->Fields->Count();//得到數據集列數
$City=array();
$i=0;
while(!$rs->EOF){
$City[$i]=$rs->Fields['name']->Value.",";
$rs->MoveNext();
$i++;
}
foreach($Cityas$val)
echo$val;
$conn->Close();
$rs=null;
$conn=null;
}
if($_REQUEST['ID']>100){//獲得省市對應的縣列表
$conn->Open($connstr);//建立資料庫連接
$sqlstr="selectnamefromCountywherecid=".$_REQUEST['ID'];//設置查詢字元串
$rs=$conn->Execute($sqlstr);//執行查詢獲得結果
$num_cols=$rs->Fields->Count();//得到數據集列數
$County=array();
$i=0;
while(!$rs->EOF){
$County[$i]=$rs->Fields['name']->Value.",";
$rs->MoveNext();
$i++;
}
foreach($Countyas$val)
echo$val;
$conn->Close();
$rs=null;
$conn=null;
}
?>

資料庫設計,表格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為所在上級,例如寶安區的cid為201,龍崗區的cid也為201;

截圖:

HTML效果:

『肆』 php怎麼獲取當前地理位置

採用PHP向騰訊發送http get request,然後獲取相應,獲得相應結果後,將結果用正則表達式將需要的地理位置信息提取出來就OK了。當然,PHP發送get請求的方法有很多,我用curl來模擬http請求的方法

Curl是PHP的一個擴展,進行測試之前,先確認PHP已經載入了curl擴展。打開PHP配置文件php.ini,搜索 「extension=php_curl.dll」,將其前面的分號(;)去掉,然後重啟HTTP伺服器,查看phpinfo(),若能看到curl的信 息,說明PHP擴展curl成功

『伍』 正則表達式提取省市縣,比如地址是福建省福州市蒼山區某某街 或福建省福州市(沒有區)求php正則表達式

<?php

$add="福建省福州市蒼山區某某街";
preg_match("/(.*?)省(.*?)市(.*?)區(.*?)街/",$add,$adds);
//列印數組
print_r($adds);
//省
echo$adds[1];
//市
echo$adds[2];
//區
echo$adds[3];
//街
echo$adds[4];

『陸』 php怎樣獲取用戶的所在城市

用ip去定位吧 可以用TB的IP查詢介面 鏈接點開我

『柒』 PHP獲取用戶所在城市

functiongetip(){
if(getenv("HTTP_CLIENT_IP")&&strcasecmp(getenv("HTTP_CLIENT_IP"),"unknown"))
$ip=getenv("HTTP_CLIENT_IP");
elseif(getenv("HTTP_X_FORWARDED_FOR")&&strcasecmp(getenv("HTTP_X_FORWARDED_FOR"),"unknown"))
$ip=getenv("HTTP_X_FORWARDED_FOR");
elseif(getenv("REMOTE_ADDR")&&strcasecmp(getenv("REMOTE_ADDR"),"unknown"))
$ip=getenv("REMOTE_ADDR");
elseif(isset($_SERVER['REMOTE_ADDR'])&&$_SERVER['REMOTE_ADDR']&&strcasecmp($_SERVER['REMOTE_ADDR'],"unknown"))
$ip=$_SERVER['REMOTE_ADDR'];
else
$ip="unknown";
return($ip);
}
functiongetIPLoc_sina($queryIP){
$url='http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip='.$queryIP;
$ch=curl_init($url);//初始化url地址
curl_setopt($ch,CURLOPT_ENCODING,'utf8');//設置一個cURL傳輸選項
curl_setopt($ch,CURLOPT_TIMEOUT,10);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);//獲取數據返回
$location=curl_exec($ch);//執行一個cURL會話
$location=json_decode($location);//對JSON格式的字元串進行編碼
curl_close($ch);//關閉一個cURL會話
$loc="";
if($location===FALSE)return"地址不正確";
if(empty($location->desc)){
$loc=$location->city;
}else{$loc=$location->desc;}
return$loc;
}

$SA_IP=getip();
$city=getIPLoc_sina($SA_IP);

『捌』 thinkphp裡面,我要根據小區ID獲取它所屬的區域城市省份,小區區域城市省份都是單獨的一個表。

通過小區的aid獲取區域id,在根據區域的cid獲取城市id,在根據城市id的pid獲取省id。
或者用join函數進行多表查詢

『玖』 thinkphp根據身份證怎麼獲取所在地區

方法很多,這里舉出兩種

  1. 通過一些平台介面進行查詢,例:有道身份證查詢這個(貌似封了),可以自行網路下

  2. 自建資料庫查詢,原理:身份證號碼的前6位是用來做地區區別碼的,所以只要找到各個地區的區別碼,用正則匹配就可以知道身份證所在地區了

閱讀全文

與php獲取省市區相關的資料

熱點內容
svn怎麼看伺服器的地址 瀏覽:187
騎馬與砍殺1命令部隊用盾牌 瀏覽:595
光纜pdf 瀏覽:350
加密流量實時監測 瀏覽:628
360壓縮和好壓哪個好 瀏覽:61
python判斷變數是否為list 瀏覽:906
雲伺服器1m帶寬表示什麼意思 瀏覽:702
429升冷櫃用多大壓縮機 瀏覽:116
決策樹演算法java實現 瀏覽:376
androidtv開發焦點控制 瀏覽:328
論人的成長pdf 瀏覽:282
python網站源代碼 瀏覽:827
手機文件壓縮器怎麼安裝 瀏覽:112
androidsdk封裝 瀏覽:266
微信加密不知道怎麼取消 瀏覽:705
分析演算法設計程序編寫 瀏覽:843
linux啟動dhcp失敗 瀏覽:356
芙蓉出水選股公式源碼 瀏覽:763
linux更改密碼錯誤 瀏覽:244
最美的源碼 瀏覽:803