php地區聯動數據 php省市區三級聯動

php在一張表里怎么寫省市區聯動

我沒看懂你具體想干什么。。。

公司主營業務:成都網站設計、成都做網站、移動網站開發等業務。幫助企業客戶真正實現互聯網宣傳,提高企業的競爭能力。創新互聯是一支青春激揚、勤奮敬業、活力青春激揚、勤奮敬業、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰,讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創新互聯推出姑蘇免費做網站回饋大家。

我做過省市縣分級聯動下拉菜單,不知道是不是你想要的。。。

關于php+mysql+ajax省市區三級聯動菜單,求幫助

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

index.html代碼:

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

""

html?xmlns=""

head

title省市區三級聯動/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();//創建一個新的請求對象;

}?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)?{//省市改變時觸發,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;?//設置回調函數

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

}

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){//獲取市對應的區

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()?{//將獲取的數據動態增加至select

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

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

var?a=new?Array;

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

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

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

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

for(i=0;i

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

}

}

}

function?displayCity()?{//將獲取的數據動態增加至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()?{//將獲取的數據增加至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);?//建立數據庫連接

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

$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($Province?as?$val)

echo?$val;

$conn-Close();

$rs?=?null;

$conn?=?null;

}

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

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

$sqlstr?=?"select?name?from?City?where?cid=".$_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($City?as?$val)

echo?$val;

$conn-Close();

$rs?=?null;

$conn?=?null;

}

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

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

$sqlstr?=?"select?name?from?County?where?cid=".$_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($County?as?$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效果:

完成后效果:

phpcms的地區聯動 怎么實現

這樣試試呢,在數據模型中創建自定義字段(可參考iphpcms的教程)時字段類型設置為“聯動菜單”,然后在“菜單id”選項處通過聯動菜單列表選擇你的地區聯動菜單,并可設定聯動菜單的返回值的方式。然后在內容添加編輯界面可出現此聯動菜單項,此方法常用。

二、在phpcms模板中直接調用聯動菜單,此方法不常用。具體方法是來到后臺-擴展-聯動菜單列表,你會看到每一個聯動菜單都有一個調用代碼,將此代碼復制粘貼到你想放的模板位置即可。但根據經驗,這還不夠,因為雖然通過此代碼把聯動菜單掉出來了,但是因為缺乏此帶單顯示時的css、js文件,往往顯示不正常,所以需要保證你的模板里同時引入了statics/js/dialog.js、statics/js/linkage/js/pop.js、statics/css/dialog.css等文件。需要對phpcms有一定了解。如果不行的話你可以直接去后盾人線下面授培訓問問那些專家講師,他們很樂意幫你的,希望能幫到你,給個采納吧謝謝( ⌒?⌒)人(⌒?⌒ )v

PHP 數據庫取值聯動

方法1:onchange一次就提交一次表單,就可以傳值給php了

方法2:Ajax提交

大概js傳值給PHP就這兩種辦法了。

或者你可以考慮一次講所有數據用PHP寫成JS二維數組。當然,如果數據量太大,這樣是不行的。

php實現省份和城市的聯動,聯動起來了,省份下拉框里可以選擇省份,城市下拉框里卻沒有城市的數據

注意一下,你的異步傳輸的頁面編碼問題,如果返回的信息為亂碼,也會導致沒反映的現象。

建議中文內容改成英文內容進行調試。

怎么用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地區聯動數據 php省市區三級聯動
瀏覽地址:http://m.kartarina.com/article20/hgcjjo.html

成都網站建設公司_創新互聯,為您提供網站導航網頁設計公司企業建站商城網站靜態網站ChatGPT

廣告

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

外貿網站制作
主站蜘蛛池模板: 免费无码又爽又刺激高潮软件| 亚洲最大av资源站无码av网址| 无码国产激情在线观看| 亚洲精品天堂无码中文字幕 | 日韩成人无码一区二区三区| 久久亚洲精品无码网站| 国产成人精品无码一区二区三区| 中文无码热在线视频| 亚洲啪啪AV无码片| 特黄熟妇丰满人妻无码| 精品无码久久久久国产| 中文字幕久久精品无码| 人妻系列无码专区久久五月天| 无码中文人妻视频2019| 狠狠躁天天躁中文字幕无码| 亚洲午夜无码久久久久小说| 国产精品无码专区| 成人免费无码H在线观看不卡| 一本色道久久综合无码人妻| 亚洲VA成无码人在线观看天堂| r级无码视频在线观看| 无码射肉在线播放视频| 亚洲av无码电影网| 久久久国产精品无码免费专区 | 伊人久久综合精品无码AV专区| 激情射精爆插热吻无码视频 | 精品无码国产污污污免费| 久久国产加勒比精品无码| 中文字幕丰满伦子无码| 中文字幕人妻三级中文无码视频| 亚洲成a人无码av波多野按摩| 无码精油按摩潮喷在播放| 无码毛片内射白浆视频| 国产精品无码免费播放| 亚洲AV无码专区在线厂| 人妻丰满熟妇A v无码区不卡| 激情无码人妻又粗又大| 久久无码一区二区三区少妇| 国产成人无码AV一区二区在线观看 | 亚洲无码精品浪潮| 中文字幕人妻三级中文无码视频|