用php做省份的三级联动附带数据库

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

⽤php做省份的三级联动附带数据库
可以把它做成⼩插件的形式,以后需要,可以随时调
来看⼀下怎么来做
先来写个div然后,再引⼊js包
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>⽆标题⽂档</title>
<script src="jquery-1.11.2.min.js"></script>
<script src="sanji.js"></script>
</head>
<body>
<div id="sanji">
</div>
</body>
</html>
引⼊的js⽂件,取名为sanji.js
然后来看看js⽂件是怎么写的
$(document).ready(function(e) {
//向DIV⾥⾯扔三个下拉
var str = "<select id='sheng'></select><select id='shi'></select><select id='qu'></select>";
$("#sanji").html(str);
FillSheng();
FillShi();
FillQu();
//选中项变化
$("#sheng").change(function(){
FillShi();
FillQu();
})
$("#shi").change(function(){
FillQu();
})
});
//填充省的⽅法
function FillSheng()
{
var pcode = "0001"; //⽗级代号
$.ajax({
async:false,
url:"chuli.php",
data:{pcode:pcode},
type:"POST",
dataType:"TEXT",
success: function(data){ //回调函数
var hang = data.split("|"); //根据⾏与⾏的分隔符来拆
var str = "";
for(var i=0;i<hang.length;i++)
{
var lie = hang[i].split("^"); //列与列的分隔符来拆
str += "<option value='"+lie[0]+"'>"+lie[1]+"</option>"; //中间显⽰地区名称
}
$("#sheng").html(str); //把显⽰的地区名称填充进去
}
});
}
//填充市的⽅法
function FillShi()
{
var pcode = $("#sheng").val();
$.ajax({
async:false,
url:"chuli.php",
data:{pcode:pcode},
type:"POST",
dataType:"TEXT",
success: function(data){
var hang = data.split("|");
var str = "";
for(var i=0;i<hang.length;i++)
{
var lie = hang[i].split("^");
str += "<option value='"+lie[0]+"'>"+lie[1]+"</option>"; }
$("#shi").html(str);
}
});
}
//填充区的⽅法
function FillQu()
{
var pcode = $("#shi").val();
$.ajax({
url:"chuli.php",
data:{pcode:pcode},
type:"POST",
dataType:"TEXT",
success: function(data){
var hang = data.split("|");
var str = "";
for(var i=0;i<hang.length;i++)
{
var lie = hang[i].split("^");
str += "<option value='"+lie[0]+"'>"+lie[1]+"</option>"; }
$("#qu").html(str);
}
});
}
只要写出⼀个来,其他两个和上⾯⼀个原理是⼀样的
再来看处理页⾯,三项⽤⼀个处理页⾯
看⼀下处理页⾯的代码
<?php
include("DBDA.class.php");
$db = new DBDA();
$pcode = $_POST["pcode"];
$sql = "select * from chinastates where parentareacode='{$pcode}'"; echo$db->StrQuery($sql);
数据库的地区表是chinastates
根据传过来的⽗级代号来查所有数据
最后运⾏起来的效果是这样的
来看⼀下数据库的内容
数据库内容很多,三级联动⾥的地区名称都在⾥⾯,采⽤的是代号副代号的⽅式
⽐如说北京吧,北京的代号是11,它下⾯的北京市副代号就11,北京市的主代号是1101,北京市下⾯的地区副代号就是1101,调地区的时候可以根据主代号查询和它相同的副代号,就能查询出来。

相关文档
最新文档