php mysql 下拉菜单_jQuery+PHP+MySQL二级联动下拉菜单实例讲解

二级联动下拉菜单选择应用在在很多地方,比如说省市下拉联动,商品大小类下拉选择联动。本文将通过实例讲解使用jQuery+PHP+MySQL来实现大小分类二级下拉联动效果。

实现效果:当选择大类时,小类下拉框里的选项内容也随着改变。

实现原理:根据大类的值,通过jQuery把值传给后台PHP处理,PHP通过查询MySQl数据库,得到相应的小类,并返回json数据给前端处理。

XHTML

首先我们要建立两个下拉选择框,第一个是大类,第二个是小类。大类的值可以是预先写好,也可以是从数据库读取。 大类:

前端技术

程序开发

数据库

小类:

flash

ps

jQuery

先写一个函数,获取大类选择框的值,并通过$.getJSON方法传递给后台server.php,读取后台返回的JSON数据,并通过$.each方法遍历JSON数据,将对应的值写入一个option字符串,最后将option追加到小类里。 function getSelectVal(){

$.getJSON("server.php",{bigname:$("#bigname").val()},function(json){

var smallname = $("#smallname");

$("option",smallname).remove(); //清空原有的选项

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

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

smallname.append(option);

});

});

}

注意,在遍历JSON数据追加之前一定要先将小类里的原有的项清空。清空选项的方法有两种,一种是上文代码中提到,还有一种更简单直接的方法: smallname.();

然后,在页面载入后执行调用函数: $(function(){

getSelectVal();

$("#bigname").change(function(){

getSelectVal();

});

});

在页面初始的时候,下拉框是要设置选项的,所以在初始的时候就要调用getSelectVal(),而当大类选项改变时,也调用了getSelectVal()。

PHP include_once("connect.php"); //链接数据库

$bigid = $_GET["bigname"];

if(isset($bigid)){

$q=mysql_query("select * from catalog where cid = $bigid");

while($row=mysql_fetch_array($q)){

$select[] = array("id"=>$row[id],"title"=>$row[title]);

}

echo json_encode($select);

}

根据jQuery传递过来的大类的value值,构造SQL语句查询分类表,最终输出JSON数据。本站在未做特别说明的情况下所使用的PHP与MySQL连接,和查询语句等均使用原始语句方法如mysql_query等,目的就是为了让读者能够直观的知晓数据的传输查询。

最后附上MYSQL表结构: CREATE TABLE `catalog` (

`id` mediumint(6) NOT NULL auto_increment,

`cid` mediumint(6) NOT NULL default '0',

`title` varchar(50) NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

以上就是介绍了jQuery+PHP+MySQL三者结合如何实现的二级联动下拉菜单,程序还有一些不足之处,需要继续完善,希望本文可以给大家一点启发。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值