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 相关文章推荐
php 获取远程网页内容的函数
Sep 08 PHP
centos 5.6 升级php到5.3的方法
May 14 PHP
php入门学习知识点八 PHP中for循环基本应用之九九乘法口绝表
Jul 14 PHP
MySQL 日期时间函数常用总结
Jun 12 PHP
web站点获取用户IP的安全方法 HTTP_X_FORWARDED_FOR检验
Jun 01 PHP
解析PHP中intval()等int转换时的意外异常情况
Jun 21 PHP
Codeigniter框架的更新事务(transaction)BUG及解决方法
Jul 25 PHP
Yii中render和renderPartial的区别
Sep 03 PHP
Yii2中Restful API原理实例分析
Jul 25 PHP
thinkphp ajaxfileupload实现异步上传图片的示例
Aug 28 PHP
thinkphp5.1框架模板布局与模板继承用法分析
Jul 19 PHP
Laravel登录失败次数限制的实现方法
Aug 26 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远程连接MYSQL数据库非常慢的解决方法
2008/07/05 PHP
php 无限级 SelectTree 类
2009/05/19 PHP
让你的PHP7更快之Hugepage用法分析
2016/05/31 PHP
JavaScript读取中文cookie时的乱码问题的解决方法
2009/10/14 Javascript
制作jquery遮罩层效果导航菜单代码分享
2013/12/25 Javascript
javascript轻松实现当鼠标移开时已弹出子菜单自动消失
2013/12/29 Javascript
jQuery插件开发的两种方法及$.fn.extend的详解
2014/01/16 Javascript
jQuery中DOM操作实例分析
2015/01/23 Javascript
深入探究JavaScript中for循环的效率问题及相关优化
2016/03/13 Javascript
JS识别浏览器类型(电脑浏览器和手机浏览器)
2016/11/18 Javascript
JS中BOM相关知识点总结(必看篇)
2016/11/22 Javascript
jquery点击展示与隐藏更多内容
2016/12/03 Javascript
vue.js之vue-cli脚手架的搭建详解
2017/05/05 Javascript
vue2.0 移动端实现下拉刷新和上拉加载更多的示例
2018/04/23 Javascript
浅谈关于JS下大批量异步任务按顺序执行解决方案一点思考
2019/01/08 Javascript
jQuery+Ajax+js实现请求json格式数据并渲染到html页面操作示例
2020/06/02 jQuery
JS removeAttribute()方法实现删除元素的某个属性
2021/01/11 Javascript
Nodejs实现微信分账的示例代码
2021/01/19 NodeJs
python求pi的方法
2014/10/08 Python
python爬虫基本知识
2018/03/05 Python
python求平均数、方差、中位数的例子
2019/08/22 Python
python实现while循环打印星星的四种形状
2019/11/23 Python
matplotlib.pyplot画图并导出保存的实例
2019/12/07 Python
python中实现栈的三种方法
2020/12/19 Python
python 数据类型强制转换的总结
2021/01/25 Python
python 装饰器重要在哪
2021/02/14 Python
使用CSS3实现SVG路径描边动画效果入门教程
2019/10/21 HTML / CSS
CSS3中引入多种自定义字体font-face
2020/06/12 HTML / CSS
南京软件公司的.net程序员笔试题
2014/08/31 面试题
社会调查研究计划书
2014/05/01 职场文书
法制宣传标语
2014/06/23 职场文书
秋季运动会演讲稿
2014/09/16 职场文书
基层党员四风问题自我剖析材料
2014/09/29 职场文书
总经理致辞
2015/07/29 职场文书
python - timeit 时间模块
2021/04/06 Python
JS + HTML 罗盘式时钟的实现
2021/05/21 Javascript