首页 » Web前端 » php省市联动多选技巧_运用PHPMySqlAjaxjQuery实现省市区三级联动功能

php省市联动多选技巧_运用PHPMySqlAjaxjQuery实现省市区三级联动功能

访客 2024-11-15 0

扫一扫用手机浏览

文章目录 [+]

实现技能:php ajax

实现:省级下拉变革时市下拉区下拉随着变革,市级下拉变革时区下拉随着变革。

php省市联动多选技巧_运用PHPMySqlAjaxjQuery实现省市区三级联动功能

利用chinastates表查询

php省市联动多选技巧_运用PHPMySqlAjaxjQuery实现省市区三级联动功能
(图片来自网络侵删)

Ajax加载数据

1.这是chinastates表

2.做一个大略php:Ajax_eg.php

<!DOCTYPE html>

<html>

<head>

<meta charset=\公众UTF-8\"大众>

<title></title>

<script src=\公众bootstrap/js/jquery-1.11.2.min.js\"大众></script>

</head>

<style>

.sanji{

margin-left: 550px;

margin-top: 150px;

}

</style>

<body>

<div class=\公众sanji\"大众> </div>

</body>

</html>

3.根据前一个页面做jquery:Ajax_ssq.js

// JavaScript Document

//当页面内容都加载完才实行

$(document).ready(function(e) {

//加载三个下拉列表

$(\公众#sanji\"大众).html(\公众<select id='sheng'></select><select id='shi'></select><select id='qu'></select>\"大众);

//加载显示数据

//1.加载省份

LoadSheng();

//2.加载市

LoadShi();

//3.加载区

LoadQu();

//当省份选中变革,重新加载市和区

$(\"大众#sheng\"大众).change(function(){ //当元素的值发生改变时,会发生 change 事宜,该事宜仅适用于文本域(text field),以及 textarea 和 select 元素。

//加载市

LoadShi();

//加载区

LoadQu();

})

//当市选中变革,重新加载区

$(\公众#shi\"大众).change(function(){

//加载区

LoadQu();

})

});

//加载省份信息

function LoadSheng()

{

//取父级代号

var pcode =\"大众0001\公众;

//根据父级代号查数据

$.ajax({

//取消异步,也便是必须完成上面才能走下面

async:false,

url:\"大众load.php\"大众,

data:{pcode:pcode},

type:\"大众POST\"大众,

dataType:\公众JSON\"大众,

success: function(data){

var str=\"大众\"大众;

//遍历数组,把它放入sj

for(var k in data){

str=str+\"大众<option value='\"大众+data[k].[0]+\"大众'>\"大众+data[k].[1]+\"大众</option>\"大众;

}

$(\公众#sheng\"大众).html(str);

}

});

}

//加载市信息

function LoadShi()

{

//取父级代号

var pcode =$(\公众#sheng\"大众).val();

//根据父级代号查数据

$.ajax({

//取消异步,也便是必须完成上面才能走下面

async:false,

url:\"大众load.php\"大众,

data:{pcode:pcode},

type:\"大众POST\"大众,

dataType:\公众JSON\"大众,

success: function(data){

var str=\"大众\"大众;

//遍历数组,把它放入sj

for(var k in data){

str=str+\公众<option value='\"大众+data[k].[0]+\"大众'>\公众+data[k].[0]+\"大众</option>\"大众;

}

$(\"大众#shi\公众).html(str);

}

});

}

//加载区信息

function LoadQu()

{

//取父级代号

var pcode =$(\"大众#shi\"大众).val();

//根据父级代号查数据

$.ajax({

//不须要取消异步

url:\公众load.php\"大众,

data:{pcode:pcode},

type:\公众POST\"大众,

dataType:\"大众JSON\"大众,

success: function(data){

var str=\"大众\"大众;

//遍历数组,把它放入sj

for(var k in data){

str=str+\"大众<option value='\"大众+data[k].[0]+\"大众'>\公众+data[k].[1]+\"大众</option>\"大众;

}

$(\"大众#qu\"大众).html(str);

}

});

}

4.再把数据库连接起来 :load.php,把DBDA重新加载一个方法:JsonQuery

<?php

$pcode = $_POST[\"大众pcode\公众];

require_once \公众./DBDA.class.php\"大众;

$db = new DBDA();

$sql = \"大众select from chinastates where parentareacode='{$pcode}'\"大众;

echo $db->JsonQuery($sql,0);

封装类

<?php

class DBDA{

public $host=\"大众localhost\"大众;

public $uid=\"大众root\公众;

public $pwd=\"大众\公众;

public $dbname=\"大众0710_info\公众;

/

query方法:实行用户给的sql语句,并返回相应的结果

$sql:用户须要实行的sql语句

$type:用户须要实行的sql语句的类型

return:如果是增删语句改返回true或false,如果是查询语句返回二维数组

/

public function query($sql,$type=1){//默认true为增编削

$db = new MySQLi($this->host,$this->uid,$this->pwd,$this->dbname);

if(mysqli_connect_error()){

return \公众连接失落败!\"大众;

}

$result = $db->query($sql);

if($type==1){

return $result;//增编削语句返回true或false

}else{

return $result->fetch_all();//查询语句返回二维数组

}

}

//此方法用于ajax中用于对取出的数据(二维数组)进行拼接字符串处理

public function StrQuery($sql,$type=1){

$db = new MySQLi($this->host,$this->uid,$this->pwd,$this->dbname);

if(mysqli_connect_error()){

return \"大众连接失落败!\"大众;

}

$result = $db->query($sql);

if($type==1){

return $result;//增编削语句返回true或false

}else{

$arr = $result->fetch_all();//查询语句返回二维数组

$str = \"大众\"大众;

foreach($arr as $v){

$str = $str.implode(\"大众^\公众, $v).\"大众|\"大众;

}

$str = substr($str, 0,strlen($str)-1);

return $str;

}

}

//此方法用于ajax中用于返回为json数据类型时利用

public function JsonQuery($sql,$type=1){

$db = new MySQLi($this->host,$this->uid,$this->pwd,$this->dbname);

if(mysqli_connect_error()){

return \"大众连接失落败!\公众;

}

$result = $db->query($sql);

if($type==1){

return $result;//增编削语句返回true或false

}else{

$arr = $result->fetch_all();//查询语句返回二维(关联)数组

return json_encode($arr);//将数组转换成json

}

}

}

实现效果:

标签:

相关文章

Go语言类库,高效编程的得力助手

随着互联网技术的飞速发展,编程语言在各个领域都得到了广泛应用。Go语言作为一种新兴的编程语言,因其简洁、高效、并发性等特性,受到了...

Web前端 2024-12-26 阅读0 评论0

Go语言在软件开发领域的崛起与发展

随着互联网技术的飞速发展,软件开发领域呈现出一片繁荣景象。在这个背景下,各种编程语言层出不穷,其中,Go语言以其独特的优势逐渐崭露...

Web前端 2024-12-26 阅读0 评论0

Go语言测试,提升软件质量的关键一环

在当今信息技术高速发展的时代,软件质量已成为企业核心竞争力的重要组成部分。而Go语言作为一种高效、简洁、安全的编程语言,被广泛应用...

Web前端 2024-12-26 阅读0 评论0

Go语言在现代化编程中的崛起与应用

近年来,随着互联网技术的飞速发展,编程语言在软件开发领域的作用日益凸显。在众多编程语言中,Go语言凭借其简洁、高效、并发处理能力强...

Web前端 2024-12-26 阅读0 评论0

重庆IT行业发展态势,机遇与挑战并存

近年来,随着我国经济的快速发展,信息技术产业已成为我国国民经济的重要支柱。重庆作为西部地区的经济中心,其IT行业发展势头迅猛,吸引...

Web前端 2024-12-26 阅读0 评论0

重链接DLL,介绍现代软件开发中的关键技术

随着软件技术的不断发展,软件开发领域逐渐呈现出多样化的趋势。在这个过程中,DLL(动态链接库)作为一种重要的技术手段,在软件开发中...

Web前端 2024-12-26 阅读0 评论0