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 相关文章推荐
PHP与MySQL开发的8个技巧小结
Dec 17 PHP
PHP在线生成二维码代码(google api)
Jun 03 PHP
php通过字符串调用函数示例
Mar 02 PHP
Yii获取当前url和域名的方法
Jun 08 PHP
php中注册器模式类用法实例分析
Nov 03 PHP
PHP截取IE浏览器并缩小原图的方法
Mar 04 PHP
PHP中字符与字节的区别及字符串与字节转换示例
Oct 15 PHP
PHP编程实现多维数组按照某个键值排序的方法小结【2种方法】
Apr 27 PHP
laravel 输出最后执行sql 附:whereIn的使用方法
Oct 10 PHP
laravel 解决Eloquent ORM的save方法无法插入数据的问题
Oct 21 PHP
PHP Pipeline 实现中间件的示例代码
Apr 26 PHP
Thinkphp 框架扩展之应用模式实现方法分析
Apr 27 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
PHP递归复制、移动目录的自定义函数分享
2014/11/18 PHP
PHP中遇到的时区问题解决方法
2015/07/23 PHP
php基于curl主动推送最新内容给百度收录的方法
2016/10/14 PHP
CI框架入门之MVC简单示例
2016/11/21 PHP
PHP实现的敏感词过滤方法示例
2019/03/06 PHP
Javascript setInterval的两种调用方法(实例讲解)
2013/11/29 Javascript
简体中文转换繁体中文(实现代码)
2013/12/25 Javascript
上传图片预览JS脚本 Input file图片预览的实现示例
2014/10/23 Javascript
node.js中的fs.readFileSync方法使用说明
2014/12/15 Javascript
JavaScript中用sort()方法对数组元素进行排序的操作
2015/06/09 Javascript
分享两段简单的JS代码防止SQL注入
2016/04/12 Javascript
BootStrap初学者对弹出框和进度条的使用感觉
2016/06/27 Javascript
Angular.JS学习之依赖注入$injector详析
2016/10/20 Javascript
Bootstrap学习笔记之进度条、媒体对象实例详解
2017/03/09 Javascript
javascript实现二叉树遍历的代码
2017/06/08 Javascript
JS实现下拉菜单列表与登录注册弹窗效果
2017/08/10 Javascript
vue组件横向树实现代码
2018/08/02 Javascript
解决node.js含有%百分号时发送get请求时浏览器地址自动编码的问题
2019/11/20 Javascript
详解为element-ui的Select和Cascader添加弹层底部操作按钮
2020/02/07 Javascript
[46:20]TFT vs Secret Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
使用Python中的tkinter模块作图的方法
2017/02/07 Python
windows下python安装paramiko模块和pycrypto模块(简单三步)
2017/07/06 Python
Python如何爬取微信公众号文章和评论(基于 Fiddler 抓包分析)
2019/06/28 Python
解决python明明pip安装成功却找不到包的问题
2019/08/28 Python
Tensorflow:转置函数 transpose的使用详解
2020/02/11 Python
解决python对齐错误的方法
2020/07/16 Python
如何强制垃圾回收
2015/10/06 面试题
《千年梦圆在今朝》教学反思
2014/02/24 职场文书
学生手册评语
2014/05/05 职场文书
党员承诺书怎么写
2014/05/20 职场文书
工地标语大全
2014/06/18 职场文书
励志演讲稿600字
2014/08/21 职场文书
超市店长竞聘书
2015/09/15 职场文书
2019脱贫攻坚工作总结报告范本!
2019/08/06 职场文书
Python竟然能剪辑视频
2021/05/25 Python
win10键盘驱动怎么修复?Win10键盘驱动修复小技巧
2022/04/06 数码科技