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 用sock技术发送邮件的函数
Jul 21 PHP
用php实现让页面只能被百度gogole蜘蛛访问的方法
Dec 29 PHP
php下使用strpos需要注意 === 运算符
Jul 17 PHP
PHP开发中的错误收集,不定期更新。
Feb 03 PHP
PHP邮件发送类PHPMailer用法实例详解
Sep 22 PHP
php curl中gzip的压缩性能测试实例分析
Nov 08 PHP
thinkPHP模板中for循环与switch语句用法示例
Nov 30 PHP
在Laravel5.6中使用Swoole的协程数据库查询
Jun 15 PHP
原生PHP实现导出csv格式Excel文件的方法示例【附源码下载】
Mar 07 PHP
gearman中worker常驻后台,导致MySQL server has gone away的解决方法
Feb 27 PHP
KindEditor在php环境下上传图片功能集成的方法示例
Jul 20 PHP
6个常见的 PHP 安全性攻击实例和阻止方法
Dec 16 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设计模式 php实现装饰器模式(decorator)
2015/12/07 PHP
Yii输入正确验证码却验证失败的解决方法
2017/06/06 PHP
Javascript 面向对象 命名空间
2010/05/13 Javascript
JQuery判断radio是否选中并获取选中值的示例代码
2014/10/17 Javascript
jQuery中serializeArray()与serialize()的区别实例分析
2015/12/09 Javascript
JavaScript学习笔记之数组的增、删、改、查
2016/03/23 Javascript
javascript断点调试心得分享
2016/04/23 Javascript
javascript 单例模式详解及简单实例
2017/02/14 Javascript
jQuery仿IOS弹出框插件
2017/02/18 Javascript
图解Javascript——作用域、作用域链、闭包
2017/03/21 Javascript
vue项目部署到nginx/tomcat服务器的实现
2019/08/26 Javascript
关于Node.js中频繁修改代码重启服务器的问题
2020/10/15 Javascript
解决iView Table组件宽度只变大不变小的问题
2020/11/13 Javascript
[05:56]第十六期——新进3大C之小兔基
2014/06/24 DOTA
[58:32]EG vs Liquid 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
django实现同一个ip十分钟内只能注册一次的实例
2017/11/03 Python
python 字典 按key值大小 倒序取值的实例
2018/07/06 Python
Python Series从0开始索引的方法
2018/11/06 Python
使用urllib库的urlretrieve()方法下载网络文件到本地的方法
2018/12/19 Python
PyQt5 实现给窗口设置背景图片的方法
2019/06/13 Python
用Python批量把文件复制到另一个文件夹的实现方法
2019/08/16 Python
用CSS3实现无限循环的无缝滚动的实例代码
2017/07/04 HTML / CSS
澳大利亚领先的睡衣品牌:Peter Alexander
2016/08/16 全球购物
泰国排名第一的家居用品中心:HomePro
2020/11/18 全球购物
Linux如何修改文件和文件夹的权限
2012/06/27 面试题
介绍一下RMI的基本概念
2016/12/17 面试题
2014全国两会学习心得体会1000字
2014/03/10 职场文书
出生证明公证书
2014/04/09 职场文书
基层干部群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
不尊敬老师检讨书范文
2014/11/19 职场文书
四年级小学生评语
2014/12/26 职场文书
2015年采购工作总结
2015/04/10 职场文书
2016猴年春节问候语
2015/11/11 职场文书
2017大学生寒假社会实践心得体会
2016/01/14 职场文书
一定要知道的 25 个 Vue 技巧
2021/11/02 Vue.js
Linux磁盘管理方法介绍
2022/06/01 Servers