• PHP数据库树的遍历方法


    PHP数据库树的遍历方法

    代码如下:

    <?php
    session_start();
    define ('P_S', PATH_SEPARATOR);
    define ('ROOT', "./");
    set_include_path(ROOT .P_S .'Zend' .P_S .ROOT.get_include_path());
    //加载ZEND 框架
    require_once ROOT.'Zend/Loader.php';
    require_once 'usercheck.php';//加载访问权限
    Zend_Loader::loadFile('function.class.php', $dirs='class/', $once=false);//加载函数
    Zend_Loader::loadClass('Zend_Db');//加载数据库类
    Zend_Loader::loadClass('Zend_Config_Ini');//加载配置类
    $config = new Zend_Config_Ini('config.php', 'general');//创建配置对象
    $db = Zend_Db::factory($config->db->adapter,$config->db->config->toArray());//创建数据库对象


    $select=$db->select();
    $select->from('ResClass',array('lsh','name'));
    $select->where('steps = 1');
    $rs=$db->fetchAll($select);

    foreach ($rs as $res){
         
          echo '&nbsp;&nbsp;&nbsp;&nbsp;'.$res['lsh'].$res['name']."<br>";
      
          
          Visit($res['lsh'],1);

         
    }
       
         
        function Visit($nodeid,$stept){
       
                          global $db;
       
                          $recordset = "SELECT lsh,name FROM ResClass WHERE parent=".$nodeid;  //搜索nodeid的所有下层节点
       
                          $rs=$db->fetchAll($recordset);
       
       
                          foreach($rs as $rss){
                         
                                        if(!$rss)
                                       
                                                 return;  //已经是叶子节点,直接返回
                                                 
                                        else{
                                       
                                                   for ($i=0;$i<4*$stept;$i++){
                                                 
                                                              echo "&nbsp;";
                                                           
                                                     }
                                                  
                                                echo '&nbsp;&nbsp;&nbsp;&nbsp;'.$rss['lsh'].$rss['name']."<br>";
                                             
                                                Visit($rss['lsh'],$stept+1);
                                             
                                        }
                                       
                              }
       
       
    }
    ?>

  • 相关阅读:
    将表单序列化类型的数据转化成对象的处理(允许对象中包含对象)
    placeholder的兼容处理(jQuery下)
    滚动条滚动到页面底部继续加载的处理实例
    html/css基础篇——html代码编写过程中的几个警惕点
    多iframe使用tab标签方式添加、删除、切换的处理实例
    iframe的内容增高或缩减时设置其iframe的高度的处理方案
    IE9父容器overflow:auto时,子容器状态更改导致滚动条下出现额外空间的问题探讨
    C语言基本类型之long long int
    VIM使用技巧总结
    Ineedle驱动方式dpdk测试性能
  • 原文地址:https://www.cnblogs.com/fengju/p/6173924.html
Copyright © 2020-2023  润新知