jquery mysql查询_php mysql jquery ajax 查询数据库三级联动

1、php 页面打开直接展示第一个select option中的数据

2、当第一个下拉列表选中的内容发生改变的时候,查询数据库填充第二个下拉列表

3、当第二个下拉列表选中的内容发生改变时,查询数据库填充第三个下拉列表

注意点:

1、查询出来的数据,如果绑定到select上

2、select cochange事件

3、ajax 请求,提交到某个php 页面,参数是下拉列表选中的值,需要知道如何获取,查询数据库有结果,如果将返回的json格式的数据进行解析

代码:

CREATE TABLE `acl_action` (

`action_id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'ID',

`parent_id` INT(10) UNSIGNED DEFAULT NULL,

`action_name` VARCHAR(35) DEFAULT NULL,

PRIMARY KEY (`action_id`)

) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8

connect.php 页面

header("Content-Type:text/html;charset=utf-8");

$mysqli = new mysqli('localhost', 'root', '', 'c');

if ($mysqli->errno) {

die('Connect Error:' . $mysqli->error);

} else {

$mysqli->set_charset('UTF8');

}ajax 提交页面

demo04.php

require_once "connect.php";

require_once "function.php";

if(isset($_GET["module"])){

$module = $_GET["module"];

echo getModuleMessage($mysqli,$module);

}

if(isset($_GET["moduleChild"])){

$moduleChild=$_GET["moduleChild"];

echo getModuleChildMessage($mysqli,$moduleChild);

}

function.php 页面

require_once "connect.php";

function getModuleMessage($mysqli,$module){

$result = $mysqli->query("SELECT action_id,action_name FROM acl_action where parent_id=" . $module);

if ($result && $result->num_rows > 0) {

while ($row = $result->fetch_assoc()) {

$select[] = array("action_id" => $row['action_id'], "action_name" => $row['action_name']);

}

return json_encode($select);

}

return 0;

}

function getModuleChildMessage($mysqli,$moduleChild){

$result = $mysqli->query("SELECT action_id,action_name FROM acl_action where parent_id=" . $moduleChild);

if ($result && $result->num_rows > 0) {

while ($row = $result->fetch_assoc()) {

$select[] = array("action_id" => $row['action_id'], "action_name" => $row['action_name']);

}

return json_encode($select);

}

}

demo04.js 页面

function getModuleChild() {

$.getJSON("demo0402.php", {module: $("#module").val()}, function (json) {

if(json==0){

clearChild();

}

var moduleChild = $("#moduleChild");

$("option", moduleChild).not(":first").remove();

$.each(json, function (index, array) {

var option = "" + array['action_name'] + "";

moduleChild.append(option);

});

clearChild();

});

}

function clearChild(){

var modulePage = $("#modulePage");

$("option", modulePage).not(":first").remove();

}

function getModulePage() {

$.getJSON("demo0402.php", {moduleChild: $("#moduleChild").val()}, function (json) {

var modulePage = $("#modulePage");

$.each(json, function (index, array) {

var option = "" + array['action_name'] + "";

modulePage.append(option);

});

});

}

php 文件,里面嵌套html代码

--请选择--

$result = $mysqli->query("SELECT action_id,action_name FROM acl_action where parent_id=0");

if ($result && $result->num_rows > 0) {

while ($row = $result->fetch_assoc()) { ?>

}

}

?>

--请选择--

--请选择--

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值