zoukankan      html  css  js  c++  java
  • 我的PHP树的代码,可以嵌套任意层

    简介:这是我的PHP树的代码,可以嵌套任意层的详细页面,介绍了和php,有关的知识、技巧、经验,和一些php源码等。

    class='pingjiaF' frameborder='0' src='http://biancheng.dnbcw.info/pingjia.php?id=323737' scrolling='no'>

    P><?
      $handle = ora_plogon(sender,password) or die("数据库连接失败!");
      $cursor=ora_open($handle);                          file://公共游标
      $cursor_tree=ora_open($handle);                     file://建立树专用游标
      $num=0;                                             file://保存游标数值变量
      ora_commiton($handle);                              file://自动开启oracle的提交
    ?>

    <?
    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_fullname><A
          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 "&nbsp";
      }                                                                   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</A><BR>";
      }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</A><BR>";
        $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--;
    }


    ?>

    “我的PHP树的代码,可以嵌套任意层”的更多相关文章 》

    爱J2EE关注Java迈克尔杰克逊视频站JSON在线工具

    http://biancheng.dnbcw.info/php/323737.html pageNo:16
  • 相关阅读:
    分享:十Python之Http Web服务(网页抓取二)
    分享:C语言打印long long类型
    分享:svn 添加*.so等文件
    visual assist x 安装
    设计模式之MVC模式
    php一个递归读取目录文件脚本
    转:javax.swing.JFrame中使用jpanel来布局
    alter table 总结
    php 函数:func_get_args()、func_get_arg()与func_num_args()
    Visual Assist X简介
  • 原文地址:https://www.cnblogs.com/ooooo/p/2255882.html
Copyright © 2011-2022 走看看