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怎样调用MSSQL的存储过程
Oct 09 PHP
网站当前的在线人数
Oct 09 PHP
php中拷贝构造函数、赋值运算符重载
Jul 25 PHP
php 批量替换html标签的实例代码
Nov 26 PHP
php图片缩放实现方法
Feb 20 PHP
PHP积分兑换接口实例
Feb 09 PHP
Adnroid 微信内置浏览器清除缓存
Jul 11 PHP
PHP解决中文乱码
Apr 28 PHP
php模仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(中)
Jun 11 PHP
PHP创建对象的六种方式实例总结
Jun 27 PHP
thinkPHP5使用Rabc实现权限管理
Aug 28 PHP
Laravel获取所有的数据库表及结构的方法
Oct 10 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制作的意见反馈表源码
2007/03/11 PHP
基于PHP生成静态页的实现方法
2013/05/10 PHP
探讨PHP JSON中文乱码的解决方法详解
2013/06/06 PHP
php计划任务之验证是否有多个进程调用同一个job的方法
2015/12/07 PHP
Yii2下session跨域名共存的解决方案
2017/02/04 PHP
PHP实现redis限制单ip、单用户的访问次数功能示例
2018/06/16 PHP
SyntaxHighlighter代码加色使用方法
2008/09/07 Javascript
js一组验证函数
2008/12/20 Javascript
原生Js实现元素渐隐/渐现(原理为修改元素的css透明度)
2013/06/24 Javascript
Javascript页面添加到收藏夹的简单方法
2013/08/07 Javascript
javascript+ajax实现产品页面加载信息
2015/07/09 Javascript
Web Uploader文件上传插件使用详解
2016/05/10 Javascript
微信小程序 加载 app-service.js 错误解决方法
2016/10/12 Javascript
AngularJS实现ajax请求的方法
2016/11/22 Javascript
js实现九宫格拼图小游戏
2017/02/13 Javascript
react-native 封装选择弹出框示例(试用ios&amp;android)
2017/07/11 Javascript
不得不看之JavaScript构造函数及new运算符
2017/08/21 Javascript
JavaScript 隐性类型转换步骤浅析
2018/03/15 Javascript
js与jQuery实现获取table中的数据并拼成json字符串操作示例
2018/07/12 jQuery
javascript使用正则实现去掉字符串前面的所有0
2018/07/23 Javascript
electron-vue利用webpack打包实现多页面的入口文件问题
2019/05/12 Javascript
layui实现tab的添加拒绝重复的方法
2019/09/04 Javascript
vue页面跳转实现页面缓存操作
2020/07/22 Javascript
解决vue axios跨域 Request Method: OPTIONS问题(预检请求)
2020/08/14 Javascript
Python编程中使用Pillow来处理图像的基础教程
2015/11/20 Python
对Python进行数据分析_关于Package的安装问题
2017/05/22 Python
python制作填词游戏步骤详解
2019/05/05 Python
python f-string式格式化听语音流程讲解
2019/06/18 Python
Python类中方法getitem和getattr详解
2019/08/30 Python
django 解决model中类写不到数据库中,数据库无此字段的问题
2020/05/20 Python
利用Python实现最小二乘法与梯度下降算法
2021/02/21 Python
TALLY WEiJL法国网上商店:服装、时装及配饰
2019/08/31 全球购物
古驰英国官网:GUCCI英国
2020/03/07 全球购物
澳大利亚床上用品、浴巾和家居用品购物网站:Bambury
2020/04/16 全球购物
网管求职信
2014/03/03 职场文书
2014年乡镇安全生产工作总结
2014/12/02 职场文书