三级联动显示中国省市信息
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>三级联动</title>
<script type="text/javascript" src="0621popwindow/jquery-1.11.2.min.js"></script>
</head>
<body>
<div id="sanji"></div>
</body>
<script type="text/javascript">
$(document).ready(function(e){
var zhuti = "<select id='sheng'></select><select id='shi'></select><select id='qu'></select>";
$("#sanji").html(zhuti);
//填充省
fillsheng();
//填充市
fillshi();
//填充区
fillqu();
$("#sheng").change(function(){
fillshi();
fillqu();
})
$("#shi").change(function(){
fillqu();
})
})
function fillsheng()
{
//省的父级代号
var pcode="0001";
$.ajax({
async:false,//关闭异步
url:"0625sanjichuli.php",
data:{pcode:pcode},
type:"POST",
dataType:"TEXT",
success:function(data){
var hang = data.trim().split("|");
var str ="";
for(var i=0;i<hang.length;i++)
{
var lie = hang [i].split("^");
str= str+"<option value='"+lie[0]+"'>"+lie[1]+"</option>"
}
$("#sheng").html(str);
}
})
}
function fillshi()
{
//取到市的父级代号
var pcode=$("#sheng").val();
$.ajax({
async:false,
url:"0625sanjichuli.php",
data:{pcode:pcode},
type:"POST",
dataType:"TEXT",
success:function(data){
alert(data);
var str = "";
var hang = data.trim().split("|");
for (var i =0; i<hang.length;i++)
{
var lie = hang[i].split("^");
str = str + "<option value='"+lie[0]+"'>"+lie[1]+"</opton>"
}
$("#shi").html(str);
}
})
}
function fillqu()
{
var pcode = $("#shi").val();
alert(pcode);
$.ajax({
async:false,
url:"0625sanjichuli.php",
data:{pcode:pcode},
type:"POST",
dataType:"TEXT",
success:function(data){
var str = "";
var hang = data.trim().split("|");
for (var i =0;i<hang.length;i++)
{
var lie = hang[i].split("^");
str=str+"<option>"+lie[1]+"</option>"
}
$("#qu").html(str);
}
})
}
</script>
</html>
处理界面
<?php
include ("DBDA.php");
$db=new DBDA();
$pcode=$_POST["pcode"];
$sql="select * from chinastates where ParentAreaCode = '{$pcode}'";
echo $db->StrQuery($sql);
封装类代码
<?php
class DBDA
{
public $host="localhost";//服务器地址
public $uid="root";//用户名
public $pwd="";//密码
public $conn;//连接对象
//操作数据库的方法
//$sql代表需要执行的SQL语句
//$type代表SQL语句的类型,1代表查询,0代表增删改
//$db代表要操作的数据库名称
//如果是查询,返回二维数组
//如果是其他语句,返回true或false
function __construct($db="aaas"){
//造连接对象
$this->conn = new MySQLi($this->host,$this->uid,$this->pwd,$db);
}
public function Query($sql,$type=1){
//判断是否出错
!mysqli_connect_error() or die("连接失败!");
//执行SQL语句
$result = $this->conn->Query($sql);
//判断SQL语句类型
if($type==1) {
//如果是查询语句,返回结果集的二维数组
return $result->fetch_all();
}else{
//如果是其他语句,返回true或false
return $result;
}
}
//Ajax调用返回JSON
public function JsonQuery($sql,$type=1,$db="aaas"){
//定义数据源
$dsn = "mysql:dbname={$db};host={$this->host}";
//造pdo对象
$pdo = new PDO($dsn,"{$this->uid}","{$this->pwd}");
//准备执行SQL语句
$st = $pdo->prepare($sql);
//执行预处理SQL语句
if($st->execute()){
if($type==1){
$sttr = $st->fetchAll(PDO::FETCH_ASSOC);
return json_encode($attr);
}else{
if($st){
return "OK";
}else{
return "NO";
}
}
}else{
echo "执行失败!";
}
}
//Ajax调用返回字符串
public function StrQuery($sql,$type=1){
//判断连接是否成功
!mysqli_connect_error() or die("连接失败!");
//执行SQL语句
$result = $this->conn->query($sql);
//判断SQL语句类型
if($type==1){
$attr = $result->fetch_all();
$str = "";
//如果是查询语句返回字符串
for($i=0;$i<count($attr);$i++){
for($j=0;$j<count($attr[$i]);$j++){
$str = $str.$attr[$i][$j];
$str = $str."^";
}
$str = substr($str,0,strlen($str)-1);
$str = $str."|";
}
$str = substr($str,0,strlen($str)-1);
return $str;
}else{
//如果是其他语句,返回true或false
if($result){
return "OK";
}else{
return "NO";
}
}
}
function PdoQuery($sql,$type=1,$db="aaas"){
//造数据源
$dns = "mysql:host={$this->host};dbname={$db}";
//造pdo对象
$pdo = new PDO($dns,$this->uid,$this->pwd);
//准备一条SQL语句
$stm = $pdo->prepare($sql);
//执行预处理语句
$r = $stm->execute();
if($r){
if($type==1){
return $stm->fetchAll();
}else{
return "OK";
}
}else{
return "NO";
}
}
}

浙公网安备 33010602011771号