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编程效率 引入缓存机制提升性能
Feb 15 PHP
解决PHP超大文件下载,断点续传下载的方法详解
Jun 06 PHP
PHP随机字符串生成代码(包括大小写字母)
Jun 24 PHP
phpQuery占用内存过多的处理方法
Nov 13 PHP
PHP使用header()输出图片缓存实例
Dec 09 PHP
PHP中file_get_contents函数抓取https地址出错的解决方法(两种方法)
Sep 22 PHP
使用一个for循环将N*N的二维数组的所有值置1实现方法
May 29 PHP
php实现的中秋博饼游戏之绘制骰子图案功能示例
Nov 06 PHP
PHP获取星期几的常用方法小结
Dec 18 PHP
PHP封装类似thinkphp连贯操作数据库Db类与简单应用示例
May 08 PHP
PHP中遍历数组的三种常用方法实例分析
Jun 24 PHP
PHP延迟静态绑定使用方法实例解析
Sep 05 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读取30天之内的根据算法排序的代码
2008/04/06 PHP
php校验表单检测字段是否为空的方法
2015/03/20 PHP
php面向对象编程self和static的区别
2016/05/08 PHP
php实现的中秋博饼游戏之掷骰子并输出结果功能详解
2017/11/06 PHP
Laravel利用gulp如何构建前端资源详解
2018/06/03 PHP
PHP封装的完整分页类示例
2018/08/21 PHP
jQuery ready函数滥用分析
2011/02/16 Javascript
基于jQuery的合并表格中相同文本的相邻单元格的代码
2011/04/06 Javascript
TextArea不支持maxlength的解决办法(jquery)
2011/09/13 Javascript
JavaScript高级程序设计 阅读笔记(十二) js内置对象Math
2012/08/14 Javascript
基于javascipt-dom编程 table对象的使用
2013/04/22 Javascript
在页面加载完成后通过jquery给多个span赋值
2014/05/21 Javascript
js由下向上不断上升冒气泡效果实例
2015/05/07 Javascript
有关jquery与DOM节点操作方法和属性记录
2016/04/15 Javascript
js 连续赋值的简单实现
2016/06/13 Javascript
Boostrap实现的登录界面实例代码
2016/10/09 Javascript
jQuery.datatables.js插件用法及api实例详解
2016/10/28 Javascript
微信小程序实战篇之购物车的实现代码示例
2017/11/30 Javascript
vue-cli+webpack项目 修改项目名称的方法
2018/02/28 Javascript
基于Vuex无法观察到值变化的解决方法
2018/03/01 Javascript
微信小程序websocket实现聊天功能
2020/03/30 Javascript
Vue.js 无限滚动列表性能优化方案
2019/12/02 Javascript
vue 避免变量赋值后双向绑定的操作
2020/11/07 Javascript
Python对excel文档的操作方法详解
2018/12/10 Python
Scrapy-Redis结合POST请求获取数据的方法示例
2019/05/07 Python
Keras SGD 随机梯度下降优化器参数设置方式
2020/06/19 Python
灵活运用CSS3特性绘制简易版围棋效果
2016/09/28 HTML / CSS
办公室人员先进事迹
2014/01/27 职场文书
新年抽奖获奖感言
2014/03/02 职场文书
遗产继承公证书
2014/04/09 职场文书
拉拉队口号
2014/06/16 职场文书
小学教师2014年度工作总结
2014/12/03 职场文书
关于五一放假的通知
2015/08/18 职场文书
个人道歉信大全
2019/04/11 职场文书
入党申请书怎么写?
2019/06/21 职场文书
django 认证类配置实现
2021/11/11 Python