zoukankan      html  css  js  c++  java
  • 三级联动显示中国省市信息

    <!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";
    		}
    	}
    }
    

      

  • 相关阅读:
    由群里在职的同学给出污染物推断题想到的
    参考文献期刊和会议的缩写
    并行程序开发笔记
    对有关推理方法的理解---支离破碎篇
    改基金的困惑与无奈
    对生物信息学基础的补习
    DPI深度报文检测架构及关键技术实现
    OSGi 和 C++
    CentOS安装glibc-2.14,错误安装libc.so.6丢失急救办法
    误删除libc.so.6的解决方法
  • 原文地址:https://www.cnblogs.com/pangchunlei/p/5618880.html
Copyright © 2011-2022 走看看