zoukankan      html  css  js  c++  java
  • 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);
                                             
                                        }
                                       
                              }
       
       
    }
    ?>

  • 相关阅读:
    基于模糊Choquet积分的目标检测算法
    Android开发5:布局管理器2(表格布局TableLayout)
    JAVA WEB开发环境搭建教程
    linux下自助获取帮助
    dsp下基于双循环缓冲队列的视频采集和显示记录
    找工作笔试面试那些事儿(11)---数据库知识总结(2)范式
    【Todo】Zookeeper系列文章
    VC2010对Excel的操作
    hdu2647解题报告
    premake 在64位Ubuntu系统下编译32位GCC程序
  • 原文地址:https://www.cnblogs.com/fengju/p/6173924.html
Copyright © 2011-2022 走看看