一个简单的多级树型菜单的代码

php中文网
发布: 2016-07-25 09:00:43
原创
869人浏览过
  1. //树型目录结构模板程序
  2. //菜单目录库字段说明:
  3. //menu_id 菜单项目 id
  4. //menu 菜单名称
  5. //menu_grade 菜单等级 1 为主菜单 2 为二级菜单 ........
  6. //menu_superior 上一级菜单 id 号
  7. function my_menu($menu_content,$i,$menu_grade_temp,$menu_superior_temp)

  8. {
  9. global $PHP_SELF;
  10. $temp1=$menu_grade_temp+1;
  11. $menu_superior_temp_array=split("/",$menu_superior_temp);
  12. for ($t=0;$t{
  13. $menu_array=split("/",$menu_content[$t]);
  14. If(($menu_array[2]==$menu_grade_temp)&&($menu_array[3]==$menu_superior_temp_array[$menu_grade_temp-1]))
  15. {
  16. for($p=1;$p$temp3=$menu_superior_temp_array;
  17. $temp3[$menu_grade_temp]=$menu_array[0];
  18. $temp2=implode("/",$temp3);
  19. if ($menu_array[0]==$menu_superior_temp_array[$temp1-1])
  20. {
  21. $temp5=$temp1-1;
  22. $temp3[$menu_grade_temp]="";
  23. $temp6=implode("/",$temp3);
  24. echo "$menu_array[1]
    ";
  25. my_menu($menu_content,$i,$temp1,$temp2);
  26. }
  27. else
  28. {
  29. $temp3[$menu_grade_temp+1]="";
  30. $temp6=implode("/",$temp3);
  31. echo "$menu_array[1]
    ";
  32. }
  33. }
  34. }
  35. }
  36. // 连接 MySql 数据库
  37. $db_host="localhost";
  38. $db_user="dkj";
  39. $db_password="123";
  40. $db_name="test";
  41. mysql_connect($db_host,$db_user,$db_password);
  42. mysql_select_db($db_name);
  43. //从数据库中取得数据

  44. $query_string="select * from menu order by menu_grade";
  45. $db_data=mysql_query($query_string);
  46. //第一次执行初始化

  47. if ($menu_grade_temp=="")
  48. {
  49. $menu_superior_temp=0;
  50. }
  51. //将所有的信息读入数组,并统计数组个数

    表单大师AI
    表单大师AI

    一款基于自然语言处理技术的智能在线表单创建工具,可以帮助用户快速、高效地生成各类专业表单。

    表单大师AI 74
    查看详情 表单大师AI
  52. $i=0;
  53. while (list($menu_id,$menu,$menu_grade,$menu_superior)=mysql_fetch_row($db_data))
  54. {
  55. $menu_content[$i]=$menu_id."/".$menu."/".$menu_grade."/".$menu_superior;
  56. $i++;
  57. }
  58. my_menu($menu_content,$i,1,$menu_superior_temp);
  59. /* 附数据库结构及模拟数据

  60. # 主机: localhost 数据库 : test
  61. # 数据表的结构 'menu'
  62. CREATE TABLE menu (
  63. menu_id int(11) NOT NULL auto_increment,
  64. menu varchar(20) NOT NULL,
  65. menu_grade int(11) NOT NULL,
  66. menu_superior int(11) NOT NULL,
  67. UNIQUE menu_id (menu_id)
  68. );
  69. # 导出下面的数据库内容 'menu'

  70. INSERT INTO menu VALUES( '1', '计算机', '1', '0');
  71. INSERT INTO menu VALUES( '2', '编程', '2', '1');
  72. INSERT INTO menu VALUES( '3', '网络', '2', '1');
  73. INSERT INTO menu VALUES( '4', 'PHP与MySql', '3', '2');
  74. INSERT INTO menu VALUES( '5', 'C语言', '3', '2');
  75. INSERT INTO menu VALUES( '6', '网页制作', '3', '3');
  76. INSERT INTO menu VALUES( '7', 'TCP、IP协议', '3', '3');
  77. INSERT INTO menu VALUES( '8', '数学', '1', '0');
  78. INSERT INTO menu VALUES( '9', '高等数学', '2', '8');
  79. INSERT INTO menu VALUES( '10', '线性代数', '3', '9');
  80. INSERT INTO menu VALUES( '11', '离散数学', '3', '9');
  81. INSERT INTO menu VALUES( '12', '初等数学', '2', '8');
  82. INSERT INTO menu VALUES( '13', '文学', '1', '0');
  83. INSERT INTO menu VALUES( '14', '程序员之家', '2', '13');
  84. INSERT INTO menu VALUES( '15', 'php', '4', '4');
  85. INSERT INTO menu VALUES( '16', 'mysql', '4', '4');
  86. */
  87. ?>
复制代码


最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号