用PHP实现多级树型菜单

更新时间:2006年10月09日 00:00:00   作者:

//树型目录结构模板程序

//菜单目录库字段说明:

//menu_id 菜单项目 id

//menu 菜单名称

//menu_grade 菜单等级 1 为主菜单 2 为二级菜单 ........

//menu_superior 上一级菜单 id 号

function my_menu($menu_content,$i,$menu_grade_temp,$menu_superior_temp)

{

global $PHP_SELF;

$temp1=$menu_grade_temp+1;

$menu_superior_temp_array=split("/",$menu_superior_temp);

for ($t=0;$t

{

$menu_array=split("/",$menu_content[$t]);

If(($menu_array[2]==$menu_grade_temp)&&($menu_array[3]==$menu_superior_temp_array[$menu_grade_temp-1]))

{

for($p=1;$p<=$menu_grade_temp;$p++){echo "  ";}

$temp3=$menu_superior_temp_array;

$temp3[$menu_grade_temp]=$menu_array[0];

$temp2=implode("/",$temp3);

if ($menu_array[0]==$menu_superior_temp_array[$temp1-1])

{

$temp5=$temp1-1;

$temp3[$menu_grade_temp]="";

$temp6=implode("/",$temp3);

echo "$menu_array[1]
";

my_menu($menu_content,$i,$temp1,$temp2);

}

else

{

$temp3[$menu_grade_temp+1]="";

$temp6=implode("/",$temp3);

echo "$menu_array[1]
";

}

}

}

}

// 连接 MySql 数据库

$db_host="localhost";

$db_user="dkj";

$db_password="123";

$db_name="test";

mysql_connect($db_host,$db_user,$db_password);

mysql_select_db($db_name);

//从数据库中取得数据

$query_string="select * from menu order by menu_grade";

$db_data=mysql_query($query_string);

//第一次执行初始化

if ($menu_grade_temp=="")

{

$menu_superior_temp=0;

}

//将所有的信息读入数组,并统计数组个数

$i=0;

while (list($menu_id,$menu,$menu_grade,$menu_superior)=mysql_fetch_row($db_data))

{

$menu_content[$i]=$menu_id."/".$menu."/".$menu_grade."/".$menu_superior;

$i++;

}

my_menu($menu_content,$i,1,$menu_superior_temp);

/* 附数据库结构及模拟数据

# phpMyAdmin MySQL-Dump

#

# 主机: localhost 数据库 : test

# --------------------------------------------------------

#

# 数据表的结构 'menu'

#

CREATE TABLE menu (

menu_id int(11) NOT NULL auto_increment,

menu varchar(20) NOT NULL,

menu_grade int(11) NOT NULL,

menu_superior int(11) NOT NULL,

UNIQUE menu_id (menu_id)

);

#

# 导出下面的数据库内容 'menu'

#

INSERT INTO menu VALUES( '1', '计算机', '1', '0');

INSERT INTO menu VALUES( '2', '编程', '2', '1');

INSERT INTO menu VALUES( '3', '网络', '2', '1');

INSERT INTO menu VALUES( '4', 'PHP与MySql', '3', '2');

INSERT INTO menu VALUES( '5', 'C语言', '3', '2');

INSERT INTO menu VALUES( '6', '网页制作', '3', '3');

INSERT INTO menu VALUES( '7', 'TCP、IP协议', '3', '3');

INSERT INTO menu VALUES( '8', '数学', '1', '0');

INSERT INTO menu VALUES( '9', '高等数学', '2', '8');

INSERT INTO menu VALUES( '10', '线性代数', '3', '9');

INSERT INTO menu VALUES( '11', '离散数学', '3', '9');

INSERT INTO menu VALUES( '12', '初等数学', '2', '8');

INSERT INTO menu VALUES( '13', '文学', '1', '0');

INSERT INTO menu VALUES( '14', '中国文学', '2', '13');

INSERT INTO menu VALUES( '15', 'php', '4', '4');

INSERT INTO menu VALUES( '16', 'mysql', '4', '4');

*/

?>

相关文章

基于PHP与XML的PDF文档生成技术...2006-10-10

VML绘图板②脚本--VMLgraph.js、XMLtool.js...2006-10-10

类似于其他编程语言,PHP的程序员提供了一种方法来定义的功能,它可以在其他地方被称为方案。2010-05-05

用PHP连接Oracle数据库...2006-10-10

PHP4引用文件语句的对比...2006-10-10

真正面向对象编程:PHP5.01发布...2006-10-10

BBS(php & mysql)完整版(二)...2006-10-10

PHP制作图型计数器的例子...2006-10-10

用PHP实现文件上传二法...2006-10-10

在windows iis5下安装php4.0+mysql之我见...2006-10-10

最新评论

php创建多级栏目_用PHP实现多级树型菜单相关推荐

  1. java 动态树_使用dtree构建动态树型菜单

    dtree是一个免费的javascript脚本,只需定义有限的几个参数,就可以做出漂亮的树型菜单.下载目录: 以下是dtree的用法示例: 1)初始化菜单 2)调用函数 2.jsp动态实现 分以下步骤 ...

  2. php创建无限级树型菜单以及三级联动菜单

    http://www.php.cn/php-weizijiaocheng-373500.html 这篇文章主要介绍了php创建无限级树型菜单 ,主要使用的是递归函数,感兴趣的小伙伴们可以参考一下 写递 ...

  3. php 修改多级菜单,用PHP实现多级树型菜单

    用PHP实现多级树型菜单 ---摘自互联网 //树型目录结构模板程序 //菜单目录库字段说明: //menu_id 菜单项目 id //menu 菜单名称 //menu_grade 菜单等级 1 为主 ...

  4. 用PHP实现多级树型菜单

    用PHP实现多级树型菜单 ---摘自互联网 <? //树型目录结构模板程序 //菜单目录库字段说明: //menu_id 菜单项目 id //menu 菜单名称 //menu_grade 菜单等 ...

  5. php通用的树型类创建无限级树型菜单

    生成树型结构所需要的2维数组,var $arr = array()数组格式如下: array( 1 => array('id'=>'1','parentID'=>0,'name'=& ...

  6. php动态创建菜单,php创建无限级树型菜单

    写递归函数,可考虑缓存,定义一些静态变量来存上一次运行的结果,多程序运行效率很有帮助.. 大概步骤如下: step1:到数据库取数据,放到一个数组, step2:把数据转化为一个树型状的数组, ste ...

  7. 京东java多级缓存_京东技术:多级缓存设计详解 | 给数据库减负

    来这里找志同道合的小伙伴! 作 者 简 介 王梓晨 自古兵家多谋,<谋攻篇>,"故上兵伐谋,其次伐交,其次伐兵,其下攻城.攻城之法,为不得已",可见攻城之计有很多种,而 ...

  8. python怎么创建桌面快捷_【原创python】桌面快捷菜单,远离满桌面的快捷方式

    [Python] 纯文本查看 复制代码import tkinter as tk import tkinter.filedialog import tkinter.messagebox import w ...

  9. vant树型菜单多级_无限层级菜单—左右值树型数据结构

    在上一篇博客中,我提到了后台菜单的问题.其实我不想写,因为比较久了,都差不多忘了,只记得当时理解得很痛苦. 下面这个菜单是一个多层级菜单的,在 计算机中心 菜单下,有6个子菜单,在子菜单 微信管理 下 ...

最新文章

  1. 关于Cocos2d-x中增加暂停按钮的步骤
  2. 对大量转载贴识别算法的研究
  3. 计算机88端口,计算机常用端口一览表
  4. mysql grant usage on_grant 权限 on 数据库对象 to 用户
  5. 指针结构体函数-事实上能够这样具体理解
  6. java 父子级json组装不用递归_2020面试阿里Java研发岗题库总结,想虐面试官不能错过的面试宝典...
  7. 数据仓如何支撑应用?
  8. oracle日期虚数0去掉,第 14 章 使用复数运算库
  9. 最受白领欢迎的12大办公软件
  10. python创建员工_python作业员工信息表程序(第四周)
  11. 局部变量与全局变量同名时如何在局部变量的作用范围内访问全局变量?
  12. MQTT客户端代码(C语言)
  13. android apk自动安装包下载,Android 下载Apk并安装
  14. Pinterest和Instagram哪个更好用?姐妹还是天敌...
  15. java中复数_Java中的复数
  16. Java通过substring截取指定字符
  17. python试卷三联学院_安徽三联学院期末考试英国文学完整版
  18. 【OpenCV入门到精通之五】视频固定位置叠加图片或者另一个视频
  19. BZOJ 5248: [2018多省省队联测]一双木棋(对抗搜索+记忆化)
  20. MathType中如何批量修改公式字体和大小

热门文章

  1. 辞去美国终身教职!顶尖学者,加盟“双一流”高校
  2. 14.1178亿人 流动人口超3亿 “大国普查”这些数据很重要
  3. GCN图卷积网络入门详解
  4. 全国首个人工智能专业,怎么学?
  5. avlib java_fatal error: libavutil/avconfig.h: No such file...
  6. java单例模式双重检查
  7. FileBeat + Pipeline 解析日志 保存至ElasticSearch(实战)
  8. eclipse maven项目 maven build 提示jdk版本不对
  9. 当设计模式遇上 Hooks
  10. 大流量场景下如何云淡风轻地进行线上发布?