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 相关文章推荐
PHP5.0对象模型探索之抽象方法和抽象类
Sep 05 PHP
php minixml详解
Jul 19 PHP
114啦源码(114la)不能生成地方房产和地方报刊问题4级页面0字节的解决方法
Jan 12 PHP
Yii结合CKEditor实现图片上传功能
Jun 13 PHP
php实现用于验证所有类型的信用卡类
Mar 24 PHP
修改PHP脚本使WordPress拦截垃圾评论的方法示例
Dec 10 PHP
详解PHP的Yii框架中的Controller控制器
Mar 29 PHP
php array_udiff_assoc 计算两个数组的差集实例
Nov 12 PHP
Yii2实现多域名跨域同步登录退出
Feb 04 PHP
php使用fputcsv实现大数据的导出操作详解
Feb 27 PHP
微信小程序和php的登录实现
Apr 01 PHP
php解析非标准json、非规范json的方式实例
May 10 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
用Socket发送电子邮件
2006/10/09 PHP
destoon实现会员商铺中指定会员或会员组投放广告的方法
2014/08/21 PHP
php版微信公众账号第三方管理工具开发简明教程
2016/09/23 PHP
thinkPHP框架中执行事务的方法示例
2018/05/31 PHP
通过event对象的fromElement属性解决热区设置主实体的一个bug
2008/12/22 Javascript
javascript Keycode对照表
2009/10/24 Javascript
jQuery常见开发技巧详细整理
2013/01/02 Javascript
js控制的回到页面顶端goTop的代码实现
2013/03/20 Javascript
js获取location.href的参数实例代码
2013/08/02 Javascript
js获取多个tagname的节点数组
2013/09/22 Javascript
javascript中解析四则运算表达式的算法和示例
2014/08/11 Javascript
javascript实现回车键提交表单方法总结
2015/01/10 Javascript
node.js集成百度UE编辑器
2015/02/05 Javascript
整理Javascript函数学习笔记
2015/12/01 Javascript
js省市联动效果完整实例代码
2015/12/09 Javascript
JavaScript 七大技巧(一)
2015/12/13 Javascript
vuejs开发组件分享之H5图片上传、压缩及拍照旋转的问题处理
2017/03/06 Javascript
基于JavaScript实现的快速排序算法分析
2017/04/14 Javascript
Angular.JS中的this指向详解
2017/05/17 Javascript
打通前后端构建一个Vue+Express的开发环境
2018/07/17 Javascript
keep-Alive搭配vue-router实现缓存页面效果的示例代码
2020/06/24 Javascript
在vue中嵌入外部网站的实现
2020/11/13 Javascript
[36:33]2018DOTA2亚洲邀请赛 4.3 突围赛 EG vs Newbee 第二场
2018/04/04 DOTA
解决python3 urllib 链接中有中文的问题
2018/07/16 Python
python实现WebSocket服务端过程解析
2019/10/18 Python
解决Python paramiko 模块远程执行ssh 命令 nohup 不生效的问题
2020/07/14 Python
浏览器实现移动端高性能css3动画(开启gpu加速)
2013/12/23 HTML / CSS
Regatta官网:英国最受欢迎的户外服装和鞋类品牌
2019/05/01 全球购物
NYX Professional Makeup俄罗斯官网:世界知名的化妆品品牌
2019/12/26 全球购物
医学院学生的自我评价分享
2013/11/19 职场文书
计算机专业毕业生推荐信
2013/11/25 职场文书
会计电算化专业自荐信
2014/03/15 职场文书
原料仓管员岗位职责
2014/04/12 职场文书
实施意见格式范本
2015/06/05 职场文书
MySQL系列之六 用户与授权
2021/07/02 MySQL
JavaScript实现简单的音乐播放器
2022/08/14 Javascript