<!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"; } } }
原文:http://www.cnblogs.com/pangchunlei/p/5618880.html