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预定义常量
Dec 25 PHP
PHP获取当前url的具体方法全面解析
Nov 26 PHP
教你如何快捷的使用cmd访问mysql小技巧
May 26 PHP
试用php中oci8扩展
Jun 18 PHP
PHP仿微信发红包领红包效果
Oct 30 PHP
CI框架入门之MVC简单示例
Nov 21 PHP
Json_decode 解析json字符串为NULL的解决方法(必看)
Feb 17 PHP
Thinkphp5行为使用方法汇总
Dec 21 PHP
PHP explode()函数用法讲解
Feb 15 PHP
Laravel5.7 数据库操作迁移的实现方法
Apr 12 PHP
laravel 实现根据字段不同值做不同查询
Oct 23 PHP
laravel解决迁移文件一次删除创建字段报错的问题
Oct 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基础知识:类与对象(4) 范围解析操作符(::)
2006/12/13 PHP
MySQL GBK→UTF-8编码转换
2007/05/24 PHP
PHP企业级应用之常见缓存技术篇
2011/01/27 PHP
PHP的伪随机数与真随机数详解
2015/05/27 PHP
zend framework中使用memcache的方法
2016/03/04 PHP
php实现基于openssl的加密解密方法
2016/09/30 PHP
form表单中去掉默认的enter键提交并绑定js方法实现代码
2013/04/01 Javascript
css配合jquery美化 select
2013/11/29 Javascript
探讨js字符串数组拼接的性能问题
2014/10/11 Javascript
JS实现判断滚动条滚到页面底部并执行事件的方法
2014/12/18 Javascript
jQuery表单域属性过滤器用法分析
2015/02/10 Javascript
Node.js中的缓冲与流模块详细介绍
2015/02/11 Javascript
JavaScript使用位运算符判断奇数和偶数的方法
2015/06/01 Javascript
javascript中字体浮动效果的简单实例演示
2015/11/18 Javascript
JQuery EasyUI的使用
2016/02/24 Javascript
AngularJs篇:使用AngularJs打造一个简易权限系统的实现代码
2016/12/26 Javascript
Angular中ng-repeat与ul li的多层嵌套重复问题
2017/07/24 Javascript
JavaScript实现的原生态Tab标签页功能【兼容IE6】
2017/09/18 Javascript
在Vuex使用dispatch和commit来调用mutations的区别详解
2018/09/18 Javascript
JavaScript中十种一步拷贝数组的方法实例详解
2019/04/22 Javascript
js实现日历
2020/11/07 Javascript
vant 中van-list的用法说明
2020/11/11 Javascript
python代码检查工具pylint 让你的python更规范
2012/09/05 Python
python按行读取文件并找出其中指定字符串
2019/08/08 Python
30秒学会30个超实用Python代码片段【收藏版】
2019/10/15 Python
python 实现图片上传接口开发 并生成可以访问的图片url
2019/12/18 Python
python 实现从高分辨图像上抠取图像块
2020/01/02 Python
Python+OpenCV实现图像的全景拼接
2020/03/05 Python
20佳惊艳的HTML5应用程序示例分享
2011/05/03 HTML / CSS
美国女性卫生用品公司:Thinx
2017/06/30 全球购物
美国首屈一指的礼品篮供应商:GiftTree
2018/01/06 全球购物
美国滑板店:Tactics
2020/11/08 全球购物
化工专业应届生求职信
2013/11/08 职场文书
庐山导游词
2015/02/03 职场文书
2015年世界粮食日演讲稿
2015/03/20 职场文书
win10以太网连接不上怎么办?Win10连接以太网详细教程
2022/04/08 数码科技