PHP+mysql实现的三级联动菜单功能示例


Posted in PHP onFebruary 15, 2019

本文实例讲述了PHP+mysql实现的三级联动菜单功能。分享给大家供大家参考,具体如下:

数据库mysql

-- 数据库: `student`
--
-- --------------------------------------------------------
--
-- 表的结构 `student`
--
CREATE TABLE `student` (
 `id` int(50) NOT NULL auto_increment,
 `name` varchar(50) collate utf8_unicode_ci NOT NULL,
 `dept` varchar(50) collate utf8_unicode_ci NOT NULL,
 `class` varchar(50) collate utf8_unicode_ci NOT NULL,
 `sex` varchar(50) collate utf8_unicode_ci NOT NULL,
 `dept_id` int(50) NOT NULL,
 `class_id` int(50) NOT NULL,
 PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=5 ;
--
-- 导出表中的数据 `student`
--
INSERT INTO `student` (`id`, `name`, `dept`, `class`, `sex`, `dept_id`, `class_id`) VALUES
(1, '计算机名字', '计算机工程系', '计061', '男', 1, 11),
(2, '教计名字', '计算机工程系', '教技061', '男', 1, 14),
(3, '管理名字', '管理系', '管理061', '女', 2, 21),
(4, '机械名字', '机械工程系', '自动化061', '男', 3, 31);

index.php代码:

<?php
$link=mysql_connect("localhost","root","") or die("数据库服务器连接错误".mysql_error());
mysql_select_db("student",$link) or die("数据库访问错误".mysql_error());
mysql_query("set character set gb2312");
mysql_query("set names gb2312");
?>
<html>
 <head>
 <title>下拉框连动</title>
 </head>
<body>
<script language="JavaScript">
//二级菜单数组
var subcat = new Array();
<?php
$i=0;
$sql="select * from student";
$query=mysql_query($sql,$link);
while($arr=mysql_fetch_array($query))
{
 echo "subcat[".$i++."] = new Array('".$arr["dept_id"]."','".$arr["class"]."','".$arr["class_id"]."');\n";
}
?>
//三级菜单数组
var subcat2 = new Array();
<?php
$i=0;
$sql="select * from student";
$query=mysql_query($sql,$link);
while($arr=mysql_fetch_array($query))
{
 echo "subcat2[".$i++."] = new Array('".$arr["class_id"]."','".$arr["class"]."','".$arr["name"]."');\n";
}
?>
function changeselect1(locationid)
{
 document.form1.s2.length = 0;
 document.form1.s2.options[0] = new Option('22请选择22','');
 for (i=0; i<subcat.length; i++)
 {
 if (subcat[i][0] == locationid)
 {
  document.form1.s2.options[document.form1.s2.length] = new Option(subcat[i][1], subcat[i][2]);
 }
 }
}
function changeselect2(locationid)
{
 document.form1.s3.length = 0;
 document.form1.s3.options[0] = new Option('33请选择33','');
 for (i=0; i<subcat2.length; i++)
 {
 if (subcat2[i][0] == locationid)
 {
  document.form1.s3.options[document.form1.s3.length] = new Option(subcat2[i][2], subcat2[i][0]);
 }
 }
}
</script>三级联动演示:<BR>
<form name="form1">
<select name="s1" onChange="changeselect1(this.value)">
<option>--请选择--</option>
<option value=1>计算机工程系</option>
<option value=2>管理系</option>
<option value=3>机械工程系</option>
</select>
<select name="s2" onChange="changeselect2(this.value)">
 <option>--请选择--</option>
</select>
<select name="s3">
 <option>--请选择--</option>
</select>
</form>
</body>
</html>

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
ADODB类使用
Nov 25 PHP
php下将图片以二进制存入mysql数据库中并显示的实现代码
May 27 PHP
php检测useragent版本示例
Mar 24 PHP
thinkphp3.2.2实现生成多张缩略图的方法
Dec 19 PHP
PHP中调用SVN命令更新网站方法
Jan 07 PHP
php中session与cookie的比较
Jan 27 PHP
php语言的7种基本的排序方法
Dec 28 PHP
php微信支付接口开发程序
Aug 02 PHP
php制作圆形用户头像的实例_自定义封装类源代码
Sep 18 PHP
PHP设计模式之装饰器模式实例详解
Feb 07 PHP
PHP+MariaDB数据库操作基本技巧备忘总结
May 21 PHP
php使用QueryList轻松采集js动态渲染页面方法
Sep 11 PHP
PHP7 echo和print语句实例用法
Feb 15 #PHP
PHP实现的权重算法示例【可用于游戏根据权限来随机物品】
Feb 15 #PHP
PHP Include文件实例讲解
Feb 15 #PHP
PHP XML Expat解析器知识点总结
Feb 15 #PHP
PHP创建文件及写入数据(覆盖写入,追加写入)的方法详解
Feb 15 #PHP
PHP fopen函数用法实例讲解
Feb 15 #PHP
PHP fclose函数用法总结
Feb 15 #PHP
You might like
利用discuz实现PHP大文件上传应用实例代码
2008/11/14 PHP
php将数组转换成csv格式文件输出的方法
2015/03/14 PHP
php cli配置文件问题分析
2015/10/15 PHP
php检查函数必传参数是否存在的实例详解
2017/08/28 PHP
TP5框架简单登录功能实现方法示例
2019/10/31 PHP
Yii使用EasyWechat实现小程序获取用户的openID的方法
2020/04/29 PHP
让innerHTML的脚本也可以运行起来
2006/07/01 Javascript
Prototype Number对象 学习
2009/07/19 Javascript
jquery表单验证使用插件formValidator
2012/11/10 Javascript
鼠标移动到图片名上,显示图片的简单实例
2013/07/14 Javascript
windows8.1+iis8.5下安装node.js开发环境
2014/12/12 Javascript
javascript顺序加载图片的方法
2015/07/18 Javascript
Bootstrap每天必学之弹出框(Popover)插件
2016/04/25 Javascript
javascript实现列表切换效果
2016/05/02 Javascript
JQuery validate插件Remote用法大全
2016/05/15 Javascript
通过正则表达式获取url中参数的简单实现
2016/06/07 Javascript
AngularJS教程 ng-style 指令简单示例
2016/08/03 Javascript
关于vue.js过渡css类名的理解(推荐)
2017/04/10 Javascript
vue.js动态数据绑定学习笔记
2017/05/19 Javascript
Router解决跨模块下的页面跳转示例
2018/01/11 Javascript
vue中rem的配置的方法示例
2018/08/30 Javascript
解决vue prop传值default属性如何使用,为何不生效的问题
2020/09/21 Javascript
[04:01]2014DOTA2国际邀请赛 TITAN告别Ohaiyo期望明年再战
2014/07/15 DOTA
[01:04:09]DOTA2-DPC中国联赛 正赛 iG vs VG BO3 第二场 2月2日
2021/03/11 DOTA
Python实现PS图像明亮度调整效果示例
2018/01/23 Python
浅谈解除装饰器作用(python3新增)
2018/10/15 Python
在PYQT5中QscrollArea(滚动条)的使用方法
2019/06/14 Python
python包的导入方式总结
2021/03/02 Python
CSS改变网页中鼠标选中文字背景颜色例子
2014/04/23 HTML / CSS
Expedia意大利旅游网站:酒店、机票和租车预订
2017/10/30 全球购物
Missguided美国官网:英国时尚品牌
2018/01/18 全球购物
就业自荐书
2013/12/05 职场文书
服装设计专业自荐信
2014/06/17 职场文书
企业财务经理岗位职责
2015/04/08 职场文书
离开雷锋的日子观后感
2015/06/09 职场文书
2016年小学生迎国庆广播稿
2015/12/18 职场文书