Posted in PHP onFebruary 06, 2009
代码如下:
<?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 ' '.$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 " "; } echo ' '.$rss['lsh'].$rss['name']."<br>"; Visit($rss['lsh'],$stept+1); } } } ?>
PHP 数据库树的遍历方法
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@