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 相关文章推荐
一个用php3编写的简单计数器
Oct 09 PHP
PHP下打开URL地址的几种方法小结
May 16 PHP
php foreach循环中使用引用的问题
Nov 06 PHP
php使用json_encode对变量json编码
Apr 07 PHP
Zend Framework生成验证码并实现验证码验证功能(附demo源码下载)
Mar 22 PHP
PHP的Yii框架中Model模型的学习教程
Mar 29 PHP
Composer设置忽略版本匹配的方法
Apr 27 PHP
Yii2中设置与获取别名的函数(setAlias和getAlias)用法分析
Jul 25 PHP
thinkphp实现分页显示功能
Dec 03 PHP
PHP微信H5支付开发实例
Jul 25 PHP
PHP实时统计中文字数和区别
Feb 28 PHP
基于php+MySql实现学生信息管理系统实例
Aug 04 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 ftp文件上传函数(基础版)
2010/06/03 PHP
PHP系列学习之日期函数使用介绍
2012/08/18 PHP
PHP修改session_id示例代码
2014/01/08 PHP
神盾加密解密教程(二)PHP 神盾解密
2014/06/08 PHP
php获取文章上一页与下一页的方法
2014/12/01 PHP
如何写php守护进程(Daemon)
2015/12/30 PHP
thinkPHP框架实现多表查询的方法
2018/06/14 PHP
屏蔽Flash右键信息的js代码
2010/01/17 Javascript
js/ajax跨越访问-jsonp的原理和实例(javascript和jquery实现代码)
2012/12/27 Javascript
js 获取(接收)地址栏参数值的方法
2013/04/01 Javascript
javaScript arguments 对象使用介绍
2013/10/18 Javascript
使用js显示当前时间示例
2014/03/02 Javascript
JavaScript静态类型检查工具FLOW简介
2015/01/06 Javascript
jquery选择器简述
2015/08/31 Javascript
原生js页面滚动延迟加载图片
2015/12/20 Javascript
jQuery+ajax简单实现文件上传的方法
2016/06/03 Javascript
JavaScript中清空数组的方法总结
2016/12/02 Javascript
vue的无缝滚动组件vue-seamless-scroll实例
2017/12/18 Javascript
详解ES7 Decorator 入门解析
2019/02/18 Javascript
Vue-input框checkbox强制刷新问题
2019/04/18 Javascript
了解Javascript中函数作为对象的魅力
2019/06/19 Javascript
layui实现数据表格点击搜索功能
2020/03/26 Javascript
在vue中动态添加class类进行显示隐藏实例
2019/11/09 Javascript
Python实战之制作天气查询软件
2019/05/14 Python
Pandas缺失值2种处理方式代码实例
2020/06/13 Python
python Scrapy爬虫框架的使用
2021/01/21 Python
HTML5单选框、复选框、下拉菜单、文本域的实现代码
2020/12/01 HTML / CSS
应聘护士自荐信
2013/10/21 职场文书
售后服务经理岗位职责范本
2014/02/22 职场文书
预备党员转正思想汇报
2014/09/26 职场文书
同事打架检讨书
2015/05/06 职场文书
检察院起诉意见书
2015/05/20 职场文书
博物馆观后感
2015/06/05 职场文书
初中班长竞选稿
2015/11/20 职场文书
2019年描写人生经典诗句大全
2019/07/08 职场文书
MySQL数据库如何查看表占用空间大小
2022/06/10 MySQL