PHP 数据库树的遍历方法


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 相关文章推荐
一个没有MYSQL数据库支持的简易留言本的编写
Oct 09 PHP
php 应用程序安全防范技术研究
Sep 25 PHP
php数组函数序列 之array_count_values() 统计数组中所有值出现的次数函数
Oct 29 PHP
解析php扩展php_curl.dll不加载的解决方法
Jun 26 PHP
解析zend Framework如何自动加载类
Jun 28 PHP
PHP中strlen()和mb_strlen()的区别浅析
Jun 19 PHP
php去除数组中重复数据
Nov 18 PHP
php图片处理函数获取类型及扩展名实例
Nov 19 PHP
php模拟post提交数据的方法
Feb 12 PHP
php实现递归抓取网页类实例
Apr 03 PHP
php数组函数array_walk用法示例
May 26 PHP
PHP的反射机制实例详解
Mar 29 PHP
一周让你学会PHP 不错的学习资料
Feb 06 #PHP
简化php模板页面中分页代码的解析
Feb 06 #PHP
精通php的十大要点(上)
Feb 04 #PHP
用mysql内存表来代替php session的类
Feb 01 #PHP
PHP 加密/解密函数 dencrypt(动态密文,带压缩功能,支持中文)
Jan 30 #PHP
防止MySQL注入或HTML表单滥用的PHP程序
Jan 21 #PHP
php 动态多文件上传
Jan 18 #PHP
You might like
PHP显示今天、今月、上月、今年的起点/终点时间戳的代码
2011/05/25 PHP
php获取系统变量方法小结
2015/05/29 PHP
大家须知简单的php性能优化注意点
2016/01/04 PHP
PHP删除字符串中非字母数字字符方法总结
2019/01/20 PHP
Javascript中获取出错代码所在文件及行数的代码
2010/09/23 Javascript
jquery事件机制扩展插件 jquery鼠标右键事件
2011/12/21 Javascript
一个JQuery操作Table的代码分享
2012/03/30 Javascript
JavaScript中的prototype.bind()方法介绍
2014/04/04 Javascript
JS+Canvas 实现下雨下雪效果
2016/05/18 Javascript
JS点击图片弹出文件选择框并覆盖原图功能的实现代码
2017/08/25 Javascript
你可能不知道的前端算法之文字避让(inMap)
2018/01/12 Javascript
jQuery实现的模仿雨滴下落动画效果
2018/12/11 jQuery
详解基于webpack&amp;gettext的前端多语言方案
2019/01/29 Javascript
使用pm2部署node生产环境的方法步骤
2019/03/09 Javascript
策略模式实现 Vue 动态表单验证的方法
2019/09/16 Javascript
使用beaker让Facebook的Bottle框架支持session功能
2015/04/23 Python
Python获取邮件地址的方法
2015/07/10 Python
Python 中迭代器与生成器实例详解
2017/03/29 Python
使用Python抓取豆瓣影评数据的方法
2018/10/17 Python
Python绘制动态水球图过程详解
2020/06/03 Python
django 实现后台从富文本提取纯文本
2020/07/02 Python
如何创建一个Flask项目并进行简单配置
2020/11/18 Python
python 利用jieba.analyse进行 关键词提取
2020/12/17 Python
日本运动品牌美津浓官方购物网站:MIZUNO SHOP
2016/08/21 全球购物
德国Discount-Apotheke中文官网:DC德式康线上药房
2020/02/18 全球购物
Does C# support multiple inheritance? (C#支持多重继承吗)
2012/01/04 面试题
百度JavaScript笔试题
2015/01/15 面试题
策划主管的工作职责
2013/11/24 职场文书
办公室前台岗位职责范本
2013/12/10 职场文书
家长给学校的建议书
2014/05/15 职场文书
乡镇干部先进性教育活动个人整改措施
2014/09/16 职场文书
复兴之路观后感3000字
2015/06/02 职场文书
煤矿安全生产管理协议书
2016/03/22 职场文书
python 遍历磁盘目录的三种方法
2021/04/02 Python
详解python网络进程
2021/06/15 Python
Docker官方工具docker-registry案例演示
2022/04/13 Servers