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二分法在IP地址查询中的应用
Aug 12 PHP
php快速url重写 更新版[需php 5.30以上]
Apr 20 PHP
php上传文件的增强函数
Jul 21 PHP
php中导出数据到excel时数字变为科学计数的解决方法
Feb 03 PHP
ThinkPHP CURD方法之data方法详解
Jun 18 PHP
PHP编译安装中遇到的两个错误和解决方法
Aug 20 PHP
VPS中使用LNMP安装WordPress教程
Dec 28 PHP
3种php生成唯一id的方法
Nov 23 PHP
PHP面相对象中的重载与重写
Feb 13 PHP
laravel5实现微信第三方登录功能
Dec 06 PHP
Thinkphp 在api开发中异常返回依然是html的解决方式
Oct 16 PHP
one.php 多项目、函数库、类库 统一为一个版本的方法
Aug 24 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 操作文件的一些FAQ总结
2009/02/12 PHP
破解图片防盗链的代码(asp/php)测试通过
2010/07/02 PHP
php二维数组合并及去重复的方法
2015/03/04 PHP
举例讲解PHP面对对象编程的多态
2015/08/12 PHP
PHP递归获取目录内所有文件的实现方法
2016/11/01 PHP
PHP从零开始打造自己的MVC框架之入口文件实现方法详解
2019/06/03 PHP
用php定义一个数组最简单的方法
2019/10/04 PHP
window.event.keyCode兼容IE和Firefox实现js代码
2013/05/30 Javascript
jquery重新播放css动画所遇问题解决
2013/08/21 Javascript
JQueryiframe页面操作父页面中的元素与方法(实例讲解)
2013/11/19 Javascript
extjs 时间范围选择自动判断的实现代码
2014/06/24 Javascript
JavaScript获取鼠标移动时的坐标(兼容IE8、chome谷歌、Firefox)
2014/09/13 Javascript
ECMAScript5(ES5)中bind方法使用小结
2015/05/07 Javascript
JavaScript类继承及实例化的方法
2015/07/25 Javascript
JSON 对象未定义错误的解决方法
2016/09/29 Javascript
基于Vue2实现简易的省市区县三级联动组件效果
2018/11/05 Javascript
在vue中使用express-mock搭建mock服务的方法
2018/11/07 Javascript
JavaScript学习笔记之DOM基础操作实例小结
2019/01/09 Javascript
vue实现随机验证码功能的实例代码
2019/04/30 Javascript
图解javascript作用域链
2019/05/27 Javascript
JS使用cookie保存用户登录信息操作示例
2019/05/30 Javascript
如何解决日期函数new Date()浏览器兼容性问题
2019/09/11 Javascript
Vue使用预渲染代替SSR的方法
2020/07/02 Javascript
如何使用原生Js实现随机点名详解
2021/01/06 Javascript
Python中的并发编程实例
2014/07/07 Python
python用plt画图时,cmp设置方法
2018/12/13 Python
python实现Virginia无密钥解密
2019/03/20 Python
python把ipynb文件转换成pdf文件过程详解
2019/07/09 Python
python爬虫 爬取58同城上所有城市的租房信息详解
2019/07/30 Python
解决keras GAN训练是loss不发生变化,accuracy一直为0.5的问题
2020/07/02 Python
Python-split()函数实例用法讲解
2020/12/18 Python
应届生求职信写作技巧
2013/10/24 职场文书
企业文明单位申报材料
2014/05/16 职场文书
2014年大学团支部工作总结
2014/12/02 职场文书
2015年教导处教学工作总结
2015/07/22 职场文书
Django migrate报错的解决方案
2021/05/20 Python