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 相关文章推荐
一个可查询所有表的“通用”查询分页类
Oct 09 PHP
PHP 中文乱码解决办法总结分析
Jul 30 PHP
解析phpstorm + xdebug 远程断点调试
Jun 20 PHP
通过PHP current函数获取未知字符键名数组第一个元素的值
Jun 24 PHP
php旋转图片90度的方法
Nov 07 PHP
php时间戳转换的示例
Mar 31 PHP
PHP中Header使用的HTTP协议及常用方法小结
Nov 04 PHP
cakephp打印sql语句的方法
Feb 13 PHP
php+ajax实现无刷新的新闻留言系统
Dec 21 PHP
PHP面向对象程序设计实例分析
Jan 26 PHP
PHP下载文件的函数实例代码
May 18 PHP
php给数组赋值的实例方法
Sep 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 syntax error, unexpected $end 错误的一种原因及解决
2008/10/25 PHP
PHP mysql事务问题实例分析
2016/01/18 PHP
php微信开发自定义菜单
2016/08/27 PHP
php递归函数怎么用才有效
2018/02/24 PHP
学习并汇集javascript匿名函数
2010/11/25 Javascript
使用jQuery异步加载 JavaScript脚本解决方案
2014/04/20 Javascript
javascript格式化指定日期对象的方法
2015/04/21 Javascript
解决node.js安装包失败的几种方法
2016/09/02 Javascript
jQuery EasyUI 右键菜单--关闭标签/选项卡的简单实例
2016/10/10 Javascript
Easyui笔记2:实现datagrid多行删除的示例代码
2017/01/14 Javascript
three.js快速入门【推荐】
2017/01/21 Javascript
angular实现图片懒加载实例代码
2017/06/08 Javascript
微信小程序 es6-promise.js封装请求与处理异步进程
2017/06/12 Javascript
JS随机排序数组实现方法分析
2017/10/11 Javascript
vue观察模式浅析
2018/09/25 Javascript
简单了解Javscript中兄弟ifream的方法调用
2019/06/17 Javascript
layui 数据表格 点击分页按钮 监听事件的实例
2019/09/02 Javascript
vue中get请求如何传递数组参数的方法示例
2019/11/08 Javascript
js实现上传按钮并显示缩略图小轮子
2020/05/04 Javascript
在vue中实现给每个页面顶部设置title
2020/07/29 Javascript
[01:45]DOTA2众星出演!DSPL刀塔次级职业联赛宣传片
2014/11/21 DOTA
[10:14]2018DOTA2国际邀请赛寻真——paiN Gaming不仅为自己而战
2018/08/14 DOTA
在双python下设置python3为默认的方法
2018/10/31 Python
python实现栅栏加解密 支持密钥加密
2019/03/20 Python
PyTorch基本数据类型(一)
2019/05/22 Python
利用pyuic5将ui文件转换为py文件的方法
2019/06/19 Python
python3.8下载及安装步骤详解
2020/01/15 Python
Python netmiko模块的使用
2020/02/14 Python
python3用urllib抓取贴吧邮箱和QQ实例
2020/03/10 Python
python如何建立全零数组
2020/07/19 Python
IRO美国官网:法国服装品牌
2018/03/06 全球购物
澳大利亚领先的女性运动服品牌:Lorna Jane
2020/06/19 全球购物
short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
2014/09/26 面试题
工厂见习报告范文
2014/10/31 职场文书
语文复习计划
2015/01/19 职场文书
社区活动总结范文
2015/05/07 职场文书