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

WBOY
Lepaskan: 2016-07-25 09:00:43
asal
778 orang telah melayarinya
  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. //将所有的信息读入数组,并统计数组个数

  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. ?>
复制代码


sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan