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 相关文章推荐
mayfish 数据入库验证代码
Apr 30 PHP
php下网站防IP攻击代码,超级实用
Oct 24 PHP
discuz的php防止sql注入函数
Jan 17 PHP
Mysql的Root密码忘记,查看或修改的解决方法(图文介绍)
Jun 14 PHP
探讨:php中在foreach中使用foreach ($arr as &amp;$value) 这种类型的解释
Jun 24 PHP
zf框架db类的分页示例分享
Mar 14 PHP
PHP计算百度地图两个GPS坐标之间距离的方法
Jan 09 PHP
php上传图片客户端和服务器端实现方法
Mar 30 PHP
thinkPHP使用post方式查询时分页失效的解决方法
Dec 09 PHP
php实现登陆模块功能示例
Oct 20 PHP
php自定义时间转换函数示例
Dec 07 PHP
PHP实现浏览器格式化显示XML的方法示例
Jan 22 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中删除变量时unset()和null的区别分析
2011/01/27 PHP
使用GDB调试PHP代码,解决PHP代码死循环问题
2015/03/02 PHP
非常漂亮的JS代码经典广告
2007/10/21 Javascript
jQuery checkbox全选/取消全选实现代码
2009/11/14 Javascript
js操作时间(年-月-日 时-分-秒 星期几)
2010/06/20 Javascript
兼容IE、FireFox、Chrome等浏览器的xml处理函数js代码
2011/11/30 Javascript
如何高效率去掉js数组中的重复项
2016/04/12 Javascript
微信js-sdk地理位置接口用法示例
2016/10/12 Javascript
微信小程序购物商城系统开发系列-目录结构介绍
2016/11/21 Javascript
AngularJS实现使用路由切换视图的方法
2017/01/24 Javascript
JavaScript 中调用 Kotlin 方法实例详解
2017/06/09 Javascript
js分页之前端代码实现和请求处理
2017/08/04 Javascript
vuex 项目结构目录及一些简单配置介绍
2018/04/08 Javascript
Vue中使用vux配置代码详解
2018/09/16 Javascript
使用pm2自动化部署node项目的方法步骤
2019/01/28 Javascript
详解在React项目中安装并使用Less(用法总结)
2019/03/18 Javascript
解决Layui当中的导航条动态添加后渲染失败的问题
2019/09/25 Javascript
vue改变循环遍历后的数据实例
2019/11/07 Javascript
vue webpack build资源相对路径的问题及解决方法
2020/06/04 Javascript
举例讲解Python中的死锁、可重入锁和互斥锁
2015/11/05 Python
Python3实现带附件的定时发送邮件功能
2020/12/22 Python
python twilio模块实现发送手机短信功能
2019/08/02 Python
python提取xml里面的链接源码详解
2019/10/15 Python
python中数据库like模糊查询方式
2020/03/02 Python
Python网页解析器使用实例详解
2020/05/30 Python
Django ModelForm组件原理及用法详解
2020/10/12 Python
Python自动化办公Excel模块openpyxl原理及用法解析
2020/11/05 Python
HTML5 canvas实现移动端上传头像拖拽裁剪效果
2016/03/14 HTML / CSS
UGG澳洲官网:UGG Australia
2018/04/26 全球购物
速卖通欧盟:Aliexpress EU
2020/08/19 全球购物
人事科岗位职责范本
2014/03/02 职场文书
毕业生简历自我评价范文
2014/04/09 职场文书
投标承诺书怎么写
2014/05/24 职场文书
甜品蛋糕店创业计划书
2014/09/21 职场文书
2015年双拥工作总结
2015/04/08 职场文书
导游词之茶卡盐湖
2019/11/26 职场文书