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 = "<option value='" + array['action_id'] + "'>" + array['action_name'] + "</option>";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 = "<option value='" + array['action_id'] + "'>" + array['action_name'] + "</option>";modulePage.append(option);});});}

php 文件,里面嵌套html代码

<script src="jquery-2.1.4.js"></script><script src="demo04.js"></script>
<body><select id="module" οnchange="getModuleChild()"> <option value="c">--请选择--</option> <?php $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()) { ?> <option value="<?php echo $row['action_id'] ?>"><?php echo $row['action_name'] ?></option> <?php } } ?></select><select id="moduleChild" οnchange="getModulePage()"> <option value="c">--请选择--</option></select><select id="modulePage"> <option value="c">--请选择--</option></select></body>

转载于:https://www.cnblogs.com/meroselove/p/7392532.html

php mysql jquery ajax 查询数据库三级联动相关推荐

  1. JQuery+ajax实现省市区三级联动(附:补充代码内容)

    省市区三级联动的实现(附:补充代码) 有了下面的代码,别忘了导入需要的jar包,用到的jar包到网上都能找到. 如果觉得不错,就点个赞!谢谢观望!! ##  1.效果图 ##  2.jsp页面,nov ...

  2. jQuery下的ajax之省市区三级联动

    jQuery下的ajax之省市区三级联动 小编提醒一下别忘了引入jQuery文件哟 HTML 所在省份:<select name="province"><opti ...

  3. h5仿android 京东三级联动,jquery仿京东商城三级联动代码插件

    2019-3-1更新:location.js文件里第三级县之前使用京东旧域名d.360buy.com的jsonp数据,域名做了跳转首页所以第三加载不出来.现在已经更新为d.jd.com,正常加载.不过 ...

  4. 全国全国各个省市数据库 三级联动 无刷新数据库

    全国全国各个省市数据库 三级联动 无刷新数据库 --创建DBPromary数据库   create  database  DBPromary use  DBPromary go --创建promary ...

  5. 【MySQL】全国省市县三级联动SQL语句—区县SQL(三)

    目录 ->区县信息表数据 [MySQL]全国省市县三级联动SQL语句-建表和省份SQL(一)_路遥叶子的博客-CSDN博客全国省市县三级联动SQL语句-建表和省份SQL(一)https://bl ...

  6. 【MySQL】全国省市县三级联动SQL语句—城市SQL(二)

    目录 -- >城市信息表数据 [MySQL]全国省市县三级联动SQL语句-建表和省份SQL(一)全国省市县三级联动SQL语句-建表和省份SQL(一)https://blog.csdn.net/z ...

  7. mysql 省市县三级联动查询_PHP+AJAX+MYSQL 仿凡客诚品省市县三级联动下拉菜单查询效果...

    连接数据库:db.php $dbhost="localhost"; $dbpassword="123"; $dbuser ='root';//数据库用户名 $d ...

  8. jquery三级联动模糊查询_jquery三级联动

    三级联动 --请选择-- --请选择-- --请选择-- $(function(){functioninitCity(){ $("#city").html('--请选择--'); ...

  9. AJAX省市县三级联动的实现

    省市县数据 本例子中省市县数据保存在MySQL数据库中,部分数据截图如下: 从数据库中读取数据 导入需要的jar包 连接池配置文件 <c3p0-config><!-- 默认配置,如果 ...

最新文章

  1. 【经典算法必读】图片分类系列之(一): 你真的了解图片分类(Image Classification)吗?...
  2. gif 分支的新建与合并
  3. github创建项目,并提交本地文件
  4. 一个历史遗留项目清理总结
  5. 我的博客园第一个博客.
  6. UVA1601The Morning after Halloween 单向加双向bfs
  7. Idea加快开发的10个技巧
  8. CSS 二十年发展简史
  9. 徐直军 华为没有鸿蒙,3亿只剩1亿?华为高管改口,推出鸿蒙到底有啥苦衷?
  10. *******clob问题***********
  11. 一天一个小技巧(1)——CSDN编辑器中文字颜色、尺寸、类型修改
  12. Ubuntu通用基础教程
  13. ASP.NET MVC后台判断是否是手机登录以及是否是微信公众号登陆
  14. 百度排名批量查询_企业网站建设,核心关键词排名丢失,怎么办?
  15. NOIP2015普及组复赛T4——推销员
  16. ajax php 源码,ThinkPHP Ajax 实例源代码_ThinkPHP教程
  17. 【转】Java方向如何准备BAT技术面试答案(汇总版)
  18. matlab模糊优选理论模型,模糊优选神经网络BP模型
  19. 不懂就学——什么是input和output?
  20. TPG和RCN收购Wave 打造美国No. 6有线运营商

热门文章

  1. 微软遭遇滑铁卢,chrome成为最受欢迎浏览器
  2. 开源游戏服务器端框架Firefly正式将GFirefly整合
  3. 华为云ModelArts完整流程引导——贴心的细致-帮你1小时完成整个训练过程
  4. 数据库面试题【十一、InnoDB引擎的4大特性】
  5. vscode中go插件配置
  6. 关于mingw编译Qt时无法编译opengl es2(ANGLE)版本的问题
  7. IDEA overwrite报错、languagelevel设置不生效问题
  8. Python全栈工程师(文件操作、编码)
  9. python做基本的图像处理
  10. HttpClient的释放问题