PHP树的代码,可以嵌套任意层

Neo吴允哲

Neo吴允哲

2016-02-19 11:08

下面图老师小编跟大家分享一个简单易学的PHP树的代码,可以嵌套任意层教程,get新技能是需要行动的,喜欢的朋友赶紧收藏起来学习下吧!

PHP树的代码,可以嵌套任意层?
file://建立树的主要函数,传递的参数为根节点的编号和根节点的标题
function create_tree($rootid,$roottilte){
  print_parent_from_rootsortid($rootid,$roottilte);
}
file://打印根节点div头的函数
function print_parent_from_rootsortid($rootid,$roottilte){
  $parent_fullname="R".$rootid."Parent";                      file://div 父级区别标志
  $parent_id="R".$rootid;
  $parent_pic="R".$rootid."img";
  echo "
      DIV class=parent id=$parent_fullnameA
      href="http://www.csdn.net/expert/menu.shtm#"
      onclick="expandIt('$parent_id'); return false"IMG border=0 height=13 id=$parent_pic
      src="image/folderclosed000.gif" width=19$roottilte/A/DIV";

  global $cursor_tree;
  $Bottom_Flag=0;
  $len=strlen($rootid)+2;      file://子级编码为父级编码长度加2
  $query = "SELECT ResourceSortNo,ResourceSortName,SectionBottomFlag
            From TbSort
            Where length(ResourceSortNo)=$len and ResourceSortNo like '$rootid%'";            file://sql查询语句
  ora_parse($cursor_tree, $query) or die;
  ora_exec($cursor_tree);

  $child_fullname="R".$rootid."Child";                     file://div 子级区别标志
  echo "DIV class=child id=$child_fullname";             file://打印一个div子级头
  while(ora_fetch($cursor_tree)){
    $Sort_No  = trim(ora_getcolumn($cursor_tree,0));
    $Sort_Title = trim(ora_getcolumn($cursor_tree,1));
    $Bottom_Flag  = trim(ora_getcolumn($cursor_tree,2));
    print_child_from_rootsortid($Sort_Title,$Sort_No, $Bottom_Flag);           file://循环调用打印子级编码函数
  }
  echo "/DIV";

}
file://判断是否是末级标志,并且打印子级编码的函数
function print_child_from_rootsortid($Section_Title,$Section_No,$Bottom_Flag){
  global $num;
  $len=2*$num+2;
  for($j=0;$j$len;$j++){
    echo " ";
  }                                                                   file://输出节点之间间距空格的循环

  if($Bottom_Flag==1){
    echo "
    IMG border=0 height=13 src="image/folderclosed000.gif" width=19
    A href="http://www.csdn.net/expert/exchange.asp" target=forum$Section_Title/ABR";
  }else{
    $p_id="R".$Section_No;
    $p_pic="R".$Section_No."img";
    echo "
    IMG border=0 height=13 id=$p_pic src="image/folderclosed000.gif" width=19
    A href="http://www.csdn.net/expert/exchange.asp" onclick="expandIt('$p_id'); return false"$Section_Title/ABR";
    $child_fullname="R".$Section_No."Child";
    echo "DIV class=child id=$child_fullname";                     file://打印div子标志头
    find_allchild_from_rootsortid($Section_No);                      file://查找子级别内容-----嵌套递归函数甲
    echo "/DIV";                                                   file://打印div子标尾部

  }

}
file://查询所有子级编码的函数
function find_allchild_from_rootsortid($Section_No){
  global $handle,$num;
  $num++;
  $cursor_ary[$num] = ora_open($handle);
  $len=strlen($Section_No)+2;      file://μ?μ?×ó??±e±ào?3¤?è
  $query = "SELECT ResourceSortNo,ResourceSortName,SectionBottomFlag
            From TbSort
            Where length(ResourceSortNo)=$len and ResourceSortNo like '$rootid%'";            file://sql查询语句
  ora_parse($cursor_ary[$num], $query) or die;
  ora_exec($cursor_ary[$num]);
  while(ora_fetch($cursor_ary[$num]))
  {
    $Sort_Title = trim(ora_getcolumn($cursor_ary[$num],1));
    $Sort_No  = trim(ora_getcolumn($cursor_ary[$num],0));
    $Bottom_Flag  = trim(ora_getcolumn($cursor_ary[$num],2));
    print_child_from_rootsortid($Sort_Title,$Sort_No,$Bottom_Flag);       file://打印所有的子级节点-----嵌套递归函数乙
  }
  $num--;
}


?
展开更多 50%)
分享

猜你喜欢

PHP树的代码,可以嵌套任意层

Web开发
PHP树的代码,可以嵌套任意层

CSS代码组合和嵌套

Web开发
CSS代码组合和嵌套

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Whois 的PHP代码

PHP
Whois 的PHP代码

JS层移支示例代码

Web开发
JS层移支示例代码

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Windows下PHP的任意文件执行漏洞

PHP
Windows下PHP的任意文件执行漏洞

jquery 弹出层实现代码

Web开发
jquery 弹出层实现代码

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

PHP默认安装产生系统漏洞

PHP默认安装产生系统漏洞

java之路径分隔符介绍

java之路径分隔符介绍
下拉加载更多内容 ↓