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 ajax 分页类代码
Nov 13 PHP
PHP 截取字符串 分别适合GB2312和UTF8编码情况
Feb 12 PHP
检测png图片是否完整的php代码
Sep 06 PHP
php5 apache 2.2 webservice 创建与配置(java)
Jan 27 PHP
PHP获取网址的顶级域名函数代码
Sep 24 PHP
PHP可变函数的使用详解
Jun 14 PHP
一漂亮的PHP图片验证码实例
Mar 21 PHP
php通过array_unshift函数添加多个变量到数组前端的方法
Mar 18 PHP
Yii2如何批量添加数据
May 17 PHP
利用 fsockopen() 函数开放端口扫描器的实例
Aug 19 PHP
Yii框架响应组件用法实例分析
Sep 04 PHP
laravel 框架实现无限级分类的方法示例
Oct 31 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
为php4加入动态flash文件的生成的支持
2006/10/09 PHP
实用函数4
2007/11/08 PHP
php 5.3.5安装memcache注意事项小结
2011/04/12 PHP
php配合jquery实现增删操作具体实例
2013/12/12 PHP
Laravel框架运行出错提示RuntimeException No application encryption key has been specified.解决方法
2019/04/02 PHP
Javascript面向对象编程(三) 非构造函数的继承
2011/08/28 Javascript
BootStrap响应式导航条实例介绍
2016/05/06 Javascript
JS查找字符串中出现次数最多的字符
2016/09/05 Javascript
js判断出两个字符串最大子串的函数实现方法
2016/11/01 Javascript
js实现倒计时及时间对象
2016/11/15 Javascript
JS DOMReady事件的六种实现方法总结
2016/11/23 Javascript
JS实现滑动门效果的方法详解
2016/12/19 Javascript
详解vue之页面缓存问题(基于2.0)
2017/01/10 Javascript
ECMAScript6--解构
2017/03/30 Javascript
[js高手之路]图解javascript的原型(prototype)对象,原型链实例
2017/08/28 Javascript
详解vue.js之props传递参数
2017/12/12 Javascript
Vue头像处理方案小结
2018/07/26 Javascript
解决vue-cli项目打包出现空白页和路径错误的问题
2018/09/04 Javascript
解决layui的form里的元素进行动态生成,验证失效的问题
2019/09/14 Javascript
解决vue语法会有延迟加载显现{{xxx}}的问题
2019/11/14 Javascript
javascript 原型与原型链的理解及应用实例分析
2020/02/10 Javascript
vue中的过滤器及其时间格式化问题
2020/04/09 Javascript
[48:44]2014 DOTA2国际邀请赛中国区预选赛5.21 TongFu VS HGT
2014/05/22 DOTA
python将ip地址转换成整数的方法
2015/03/17 Python
Python统计时间内的并发数代码实例
2019/12/28 Python
Python流程控制语句的深入讲解
2020/06/15 Python
python如何用matplotlib创建三维图表
2021/01/26 Python
惠普墨西哥官方商店:HP墨西哥
2016/12/01 全球购物
锐步美国官方网站:Reebok美国
2018/01/10 全球购物
银行实习人员自我鉴定
2013/09/22 职场文书
英语简历自我评价
2014/01/26 职场文书
品牌推广策划方案
2014/05/28 职场文书
社区服务标语
2014/07/01 职场文书
物业管理专业自荐信
2014/07/01 职场文书
html css3不拉伸图片显示效果
2021/06/07 HTML / CSS
python 使用pandas读取csv文件的方法
2022/12/24 Python