好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

实现树形的遍历(关于多级菜单栏以及多级

前言: mysql 没有这样的便捷途径,所以MySQL遍历数据表是我们经常会遇到的头痛问题,下面通过存储过程来实现。 1,建立测试表和数据: 2,利用临时表和递归过程实现树的遍历(mysql的UDF不能递归调用): 2.1,从某节点向下遍历子节点,递归生成临时表数据 -- pro_cre_childlist 2.2,从某节点向上追溯根节点,递归生成临时表数据 -- pro_cre_parentlist 2.3,实现类似 Oracle SYS_CONNECT_BY_PATH的功能,递归过程输出某节点id路径 -- pro_cre_pathlist 2.4,递归过程输出某节点name路径 -- pro_cre_pnlist 2.5,调用函数输出id路径 -- fn_tree_path 2.6,调用函数输出name路径 -- fn_tree_pathname 2.7,调用过程输出子节点 -- pro_show_childLst 2.8,调用过程输出父节点 -- pro_show_parentLst 3,开始测试: mysql> CALL pro_show_childLst(-1); 3.2,显示首页下面的子节点 CALL pro_show_childLst(13); 3.3,显示TV580下面的所有子节点 CALL pro_show_childLst(14); 3.4,“帮忙”节点有一个子节点,显示出来: CALL pro_show_childLst(17); 3.5,“栏目简介”没有子节点,所以只显示最终节点: mysql> CALL pro_show_childLst(18); 3.6,显示根节点的父节点 CALL pro_show_parentLst(-1); 3.7,显示“首页”的父节点 CALL pro_show_parentLst(13); 3.8,显示“TV580”的父节点,parent_id为-1 CALL pro_show_parentLst(14); 3.9,显示“帮忙”节点的父节点 mysql> 3.10,显示最低层节点“栏目简介”的父节点 CALL pro_show_parentLst(18); 参考网址: http://jan.kneschke.de/projects/mysql/sp/sp_tree.sql

查看更多关于实现树形的遍历(关于多级菜单栏以及多级的详细内容...

  阅读:47次