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之第六天
Oct 09 PHP
PHP4实际应用经验篇(1)
Oct 09 PHP
php中利用post传递字符串重定向的实现代码
Apr 21 PHP
PHP禁止页面缓存的代码
Oct 23 PHP
PHP sprintf() 函数的应用(定义和用法)
Jun 29 PHP
浅析php与数据库代码开发规范
Aug 08 PHP
PHP中的output_buffering详细介绍
Sep 27 PHP
一款简单实用的php操作mysql数据库类
Dec 08 PHP
如何用PHP来实现一个动态Web服务器
Jul 29 PHP
YII Framework框架教程之安全方案详解
Mar 14 PHP
ThinkPHP框架里隐藏index.php
Apr 12 PHP
thinkPHP线上自动加载异常与修复方法实例分析
Dec 01 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+SQL 注入攻击的技术实现以及预防办法
2011/01/27 PHP
phpmailer在服务器上不能正常发送邮件的解决办法
2014/07/08 PHP
[原创]PHP正则匹配中英文、数字及下划线的方法【用户名验证】
2017/08/01 PHP
javascript 主动派发事件总结
2011/08/09 Javascript
js判断元素是否隐藏的方法
2014/06/09 Javascript
JavaScript判断数组是否包含指定元素的方法
2015/07/01 Javascript
JavaScript开发者必备的10个Sublime Text插件
2016/02/27 Javascript
JavaScript禁止用户多次提交的两种方法
2016/07/24 Javascript
正则表达式替换html元素属性的方法
2016/11/26 Javascript
工厂模式在JS中的实践
2017/01/18 Javascript
Vue2.0使用过程常见的一些问题总结学习
2017/04/10 Javascript
vuejs2.0子组件改变父组件的数据实例
2017/05/10 Javascript
angular2实现统一的http请求头方法
2018/08/13 Javascript
详解Angular6 热加载配置方案
2018/08/18 Javascript
Angular5中状态管理的实现
2018/09/03 Javascript
使用p5.js临摹动态图片
2019/11/04 Javascript
Python标准库之随机数 (math包、random包)介绍
2014/11/25 Python
python爬虫之百度API调用方法
2017/06/11 Python
对变量赋值的理解--Pyton中让两个值互换的实现方法
2017/11/29 Python
Python3 log10()函数简单用法
2019/02/19 Python
详解Python读取yaml文件多层菜单
2019/03/23 Python
python实现最小二乘法线性拟合
2019/07/19 Python
python+opencv实现移动侦测(帧差法)
2020/03/20 Python
python怎么提高计算速度
2020/06/11 Python
10行Python代码实现Web自动化管控的示例代码
2020/08/14 Python
python实现银行账户系统
2021/02/22 Python
css图标制作教程制作云图标
2014/01/19 HTML / CSS
中国跨境在线时尚零售商:Bellelily
2018/04/06 全球购物
护理职业生涯规划书
2014/01/24 职场文书
公司门卫的岗位职责
2014/02/19 职场文书
自荐信的格式
2014/03/10 职场文书
农村面貌改造提升实施方案
2014/03/18 职场文书
银行内勤岗位职责
2014/04/09 职场文书
人力资源职位说明书
2014/07/29 职场文书
高考诚信考试承诺书
2015/04/29 职场文书
MySQL中rank() over、dense_rank() over、row_number() over用法介绍
2022/03/23 MySQL