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 正则匹配函数体
Aug 25 PHP
PHP中CURL方法curl_setopt()函数的参数分享
Jan 19 PHP
PHP下使用CURL方式POST数据至API接口的代码
Feb 14 PHP
如何使用php绘制在图片上的正余弦曲线
Jun 08 PHP
php进行支付宝开发中return_url和notify_url的区别分析
Dec 22 PHP
php创建多级目录的方法
Mar 24 PHP
php多重接口的实现方法
Jun 20 PHP
如何解决PHP无法实现多线程的问题
Sep 25 PHP
yii2分页之实现跳转到具体某页的实例代码
Jun 02 PHP
PHP面向对象之里氏替换原则简单示例
Apr 08 PHP
浅谈laravel框架sql中groupBy之后排序的问题
Oct 17 PHP
PHP pthreads v3下worker和pool的使用方法示例
Feb 21 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
基于mysql的论坛(5)
2006/10/09 PHP
php实现天干地支计算器示例
2014/03/14 PHP
php面向对象值单例模式
2016/05/03 PHP
PHP房贷计算器实例代码,等额本息,等额本金
2017/04/01 PHP
PHP实践教程之过滤、验证、转义与密码详解
2017/07/24 PHP
dwr spring的集成实现代码
2009/03/22 Javascript
Dojo 学习笔记入门篇 First Dojo Example
2009/11/15 Javascript
javascript setTimeout和setInterval 的区别
2009/12/08 Javascript
浅谈javascript的原型继承
2012/07/25 Javascript
nodejs npm install全局安装和本地安装的区别
2014/06/05 NodeJs
Bootstrap模态对话框的简单使用
2016/04/29 Javascript
JavaScript必知必会(七)js对象继承
2016/06/08 Javascript
js获取指定时间的前几秒
2017/04/05 Javascript
JS实现导航栏楼层特效
2020/01/01 Javascript
vue-cli3 热更新配置操作
2020/09/18 Javascript
[01:35]2018完美盛典章节片——共竞
2018/12/17 DOTA
使用py2exe在Windows下将Python程序转为exe文件
2016/03/04 Python
Python如何实现文本转语音
2016/08/08 Python
Django Admin实现三级联动的示例代码(省市区)
2018/06/22 Python
简单了解python数组的基本操作
2019/11/26 Python
万得城电器土耳其网站:欧洲第一大电子产品零售商
2016/10/07 全球购物
西班牙在线宠物商店:zooplus.es
2017/02/24 全球购物
澳大利亚当地社区首选的光学商店:1001 Optical
2019/08/24 全球购物
Tomcat Mysql datasource数据源配置
2015/12/28 面试题
大学军训自我鉴定
2013/12/15 职场文书
参观考察邀请函范文
2014/01/29 职场文书
观看《永远的雷锋》心得体会
2014/03/12 职场文书
买房委托公证书
2014/04/08 职场文书
《九寨沟》教学反思
2014/04/08 职场文书
大专应届毕业生求职信
2014/07/15 职场文书
2014迎接教师节演讲稿
2014/09/10 职场文书
普通党员个人剖析材料
2014/10/08 职场文书
2016年优秀班主任先进事迹材料
2016/02/26 职场文书
投资入股协议书
2016/03/22 职场文书
Java字符串逆序方法详情
2022/03/21 Java/Android
PostgreSQL出现死锁该如何解决
2022/05/30 PostgreSQL