当前位置:首页 » 编程语言 » php省市县

php省市县

发布时间: 2022-08-10 05:43:03

‘壹’ php下拉框省市县,怎么选中省之后相对应的市就显示出来

多级联动,开始会有默认的省市县,之后再选择省之后ajax返回选择的当前的省份下的市,以及默认的第一个市的县,再选择市的时候再ajax返回市级下的所有县。

‘贰’ php在一张表里怎么写省市区联动

我没看懂你具体想干什么。。。
我做过省市县分级联动下拉菜单,不知道是不是你想要的。。。

‘叁’ 请问怎么用PHP生成全国各省市的随时地址

一般这样的都是存在数据库中,数据库3个字段 id pid name ,分别是 id 上级id 名称
用数组,三维数组
比如
id pid name
1 0 广东省
2 1 广州市
3 2 花都区
然后PHP读取库,用一个迭代器,理论上可以取出无限级分类

‘肆’ 关于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 省市区写在一起 怎样截取成单个的

有3种方法:
1、手工一行一行的写成php代码
2、使用程序分析图一的数据,写入到数据库里,然后动态查询
3、使用程序分析图一的数据,写入到数据库里,动态生成图二的代码

‘陆’ 正则表达式提取省市县,比如地址是福建省福州市苍山区某某街 或福建省福州市(没有区)求php正则表达式

<?php

$add="福建省福州市苍山区某某街";
preg_match("/(.*?)省(.*?)市(.*?)区(.*?)街/",$add,$adds);
//打印数组
print_r($adds);
//省
echo$adds[1];
//市
echo$adds[2];
//区
echo$adds[3];
//街
echo$adds[4];

‘柒’ 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 怎样实现省市县(区)的三级联动问题补充:省市为select下拉框,县(区)为checkbox多选。

http://s1.whenhost.com/test/

用心查看一下源代码即可

‘拾’ PHP+ajax+mysql实现省市县三级联动

在html页的body标签内添加三个select选项,分别用于显示省、市、区

热点内容
lol开什么配置最好 发布:2024-05-01 15:23:37 浏览:327
如何在vivo手机里面的微信设置密码 发布:2024-05-01 15:22:57 浏览:861
四川电信新增服务器地址云空间 发布:2024-05-01 15:17:55 浏览:706
校园编程调铃 发布:2024-05-01 15:00:14 浏览:837
编译原理第三版课后习题答案文库 发布:2024-05-01 14:49:44 浏览:976
vs编译失败 发布:2024-05-01 14:42:50 浏览:722
c语言fac函数 发布:2024-05-01 14:29:49 浏览:351
编程后器件 发布:2024-05-01 14:22:21 浏览:814
yaflinux 发布:2024-05-01 13:54:42 浏览:765
恒语g666参数属于什么配置 发布:2024-05-01 13:50:13 浏览:68