博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
我的PHP树的代码,可以嵌套任意层 (转)
阅读量:2498 次
发布时间:2019-05-11

本文共 2569 字,大约阅读时间需要 8 分钟。

我的PHP树的代码,可以嵌套任意层 (转)[@more@]

  $handle = ora_plogon(sender,pass) or die("连接失败!");
  $cursor=ora_open($handle);  共游标
  $cursor_tree=ora_open($handle);  立树专用游标
  $num=0;  存游标数值变量
  ora_commiton($handle);  动开启的提交
?>

 

立树的主要,传递的参数为根节点的编号和根节点的标题
function create_tree($id,$roottilte){
  print_parent_from_rootsortid($rootid,$roottilte);
}
印根节点div头的函数
function print_parent_from_rootsortid($rootid,$roottilte){
  $parent_fullname="R".$rootid."Parent";  父级区别标志
  $parent_id="R".$rootid;
  $parent_pic="R".$rootid."img";
  echo "
 

  href="http://www.csdn /expert/menu.shtm#"
  οnclick="expandIt('$parent_id'); return false">  src="image/folderclosed000.gif" width=19>$roottilte
";

  global $cursor_tree;

  $Bottom_Flag=0;
  $len=strlen($rootid)+2;  级编码为父级编码长度加2
  $query = " ReSortNo,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";  子级区别标志

  echo "

";  印一个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);  环 打印子级编码函数
  }
  echo "
";

}

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

  if($Bottom_Flag==1){

  echo "
  folderclosed000.gif
  ." target=forum>$Section_Title
";
  }else{
  $p_id="R".$Section_No;
  $p_pic="R".$Section_No."img";
  echo "
  folderclosed000.gif
 
";
  $child_fullname="R".$Section_No."Child";
  echo "

";  印div子标志头
  find_allchild_from_rootsortid($Section_No);  找子级别内容-----嵌套递归函数甲
  echo "
";  印div子标尾部

  }

}

询所有子级编码的函数
function find_allchild_from_rootsortid($Section_No){
  global $handle,$num;
  $num++;
  $cursor_ary[$num] = ora_open($handle);
  $len=strlen($Section_No)+2;  ó??±e±ào?3¤?è
  $query = "SELECT ResourceSortNo,ResourceSortName,SectionBottomFlag
  From TbSort
  Where length(ResourceSortNo)=$len and ResourceSortNo like '$rootid%'";  查询语句
  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);  印所有的子级节点-----嵌套递归函数乙
  }
  $num--;
}

?>

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10748419/viewspace-1008834/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10748419/viewspace-1008834/

你可能感兴趣的文章
Navicat远程连接云主机数据库
查看>>
Nginx配置文件nginx.conf中文详解(总结)
查看>>
MySQL innert join、left join、right join等理解
查看>>
sdc时序约束
查看>>
NoC片上网络
查看>>
开源SoC整理
查看>>
【2020-3-21】Mac安装Homebrew慢,解决办法
查看>>
influxdb 命令行输出时间为 yyyy-MM-dd HH:mm:ss(年月日时分秒)的方法
查看>>
已知子网掩码,确定ip地址范围
查看>>
判断时间或者数字是否连续
查看>>
docker-daemon.json各配置详解
查看>>
Docker(一)使用阿里云容器镜像服务
查看>>
FFmpeg 新旧版本编码 API 的区别
查看>>
RecyclerView 源码深入解析——绘制流程、缓存机制、动画等
查看>>
Android 面试题整理总结(一)Java 基础
查看>>
Android 面试题整理总结(二)Java 集合
查看>>
学习笔记_vnpy实战培训day02
查看>>
学习笔记_vnpy实战培训day03
查看>>
VNPY- VnTrader基本使用
查看>>
VNPY - CTA策略模块策略开发
查看>>