当前位置:首页 > PHP教程 > php应用 > 列表

PHP+mysql实现的三级联动菜单功能示例

发布:smiling 来源: PHP粉丝网  添加日期:2021-11-09 15:24:44 浏览: 评论:0 

这篇文章主要介绍了PHP+mysql实现的三级联动菜单功能,涉及mysql数据库创建、数据添加及php读取mysql、创建联动菜单相关操作技巧,需要的朋友可以参考下。

本文实例讲述了PHP+mysql实现的三级联动菜单功能,分享给大家供大家参考,具体如下:

数据库mysql

  1. -- 数据库: `student` 
  2. -- 
  3. -- -------------------------------------------------------- 
  4. -- 
  5. -- 表的结构 `student` 
  6. -- 
  7. CREATE TABLE `student` ( 
  8.  `id` int(50) NOT NULL auto_increment, 
  9.  `name` varchar(50) collate utf8_unicode_ci NOT NULL, 
  10.  `dept` varchar(50) collate utf8_unicode_ci NOT NULL, 
  11.  `class` varchar(50) collate utf8_unicode_ci NOT NULL, 
  12.  `sex` varchar(50) collate utf8_unicode_ci NOT NULL, 
  13.  `dept_id` int(50) NOT NULL, 
  14.  `class_id` int(50) NOT NULL, 
  15.  PRIMARY KEY (`id`) 
  16. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=5 ; 
  17. -- 
  18. -- 导出表中的数据 `student` 
  19. -- 
  20. INSERT INTO `student` (`id`, `name`, `dept`, `class`, `sex`, `dept_id`, `class_id`) VALUES 
  21. (1, '计算机名字', '计算机工程系', '计061', '男', 1, 11), 
  22. (2, '教计名字', '计算机工程系', '教技061', '男', 1, 14), 
  23. (3, '管理名字', '管理系', '管理061', '女', 2, 21), 
  24. (4, '机械名字', '机械工程系', '自动化061', '男', 3, 31); 

index.php代码:

  1. <?php 
  2. $link=mysql_connect("localhost","root","") or die("数据库服务器连接错误".mysql_error()); 
  3. mysql_select_db("student",$link) or die("数据库访问错误".mysql_error()); 
  4. mysql_query("set character set gb2312"); 
  5. mysql_query("set names gb2312"); 
  6. ?> 
  7. <html> 
  8.  <head> 
  9.  <title>下拉框连动</title> 
  10.  </head> 
  11. <body> 
  12. <script language="JavaScript"> 
  13. //二级菜单数组 
  14. var subcat = new Array(); 
  15. <?php 
  16. $i=0; 
  17. $sql="select * from student"; 
  18. $query=mysql_query($sql,$link); 
  19. while($arr=mysql_fetch_array($query)) 
  20. { 
  21.  echo "subcat[".$i++."] = new Array('".$arr["dept_id"]."','".$arr["class"]."','".$arr["class_id"]."');\n"; 
  22. } 
  23. ?> 
  24. //三级菜单数组 
  25. var subcat2 = new Array(); 
  26. <?php 
  27. $i=0; 
  28. $sql="select * from student"; 
  29. $query=mysql_query($sql,$link); 
  30. while($arr=mysql_fetch_array($query)) 
  31. { 
  32.  echo "subcat2[".$i++."] = new Array('".$arr["class_id"]."','".$arr["class"]."','".$arr["name"]."');\n"; 
  33. } 
  34. ?> 
  35. function changeselect1(locationid) 
  36. { 
  37.  document.form1.s2.length = 0; 
  38.  document.form1.s2.options[0] = new Option('22请选择22',''); 
  39.  for (i=0; i<subcat.length; i++) 
  40.  { 
  41.  if (subcat[i][0] == locationid) 
  42.  { 
  43.   document.form1.s2.options[document.form1.s2.length] = new Option(subcat[i][1], subcat[i][2]); 
  44.  } 
  45.  } 
  46. } 
  47. function changeselect2(locationid) 
  48. { 
  49.  document.form1.s3.length = 0; 
  50.  document.form1.s3.options[0] = new Option('33请选择33',''); 
  51.  for (i=0; i<subcat2.length; i++) 
  52.  { 
  53.  if (subcat2[i][0] == locationid) 
  54.  { 
  55.   document.form1.s3.options[document.form1.s3.length] = new Option(subcat2[i][2], subcat2[i][0]); 
  56.  } 
  57.  } 
  58. } 
  59. </script>三级联动演示:<BR> 
  60. <form name="form1"> 
  61. <select name="s1" onChange="changeselect1(this.value)"> 
  62. <option>--请选择--</option> 
  63. <option value=1>计算机工程系</option> 
  64. <option value=2>管理系</option> 
  65. <option value=3>机械工程系</option> 
  66. </select> 
  67. <select name="s2" onChange="changeselect2(this.value)"> 
  68.  <option>--请选择--</option> 
  69. </select> 
  70. <select name="s3"> 
  71.  <option>--请选择--</option> 
  72. </select> 
  73. </form> 
  74. </body> 
  75. </html>

Tags: PHP+mysql PHP三级联动

分享到: