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下的权限算法的实现
Apr 28 PHP
php allow_url_include的应用和解释
Apr 22 PHP
PHP无刷新上传文件实现代码
Sep 19 PHP
PHP实现时间轴函数代码
Oct 08 PHP
php查询ip所在地的方法
Dec 05 PHP
分享10段PHP常用代码
Nov 11 PHP
HTML中嵌入PHP的简单方法
Feb 16 PHP
php pdo oracle中文乱码的快速解决方法
May 16 PHP
PHP基于自定义函数实现的汉字转拼音功能实例
Sep 30 PHP
通过PHP设置BugFree获取邮箱通知
Apr 25 PHP
PHP 数组操作详解【遍历、指针、函数等】
May 13 PHP
php获取小程序码的实现代码(B类接口)
Jun 13 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(视频)Http下载
2006/12/12 PHP
php购物车实现方法
2015/01/03 PHP
帝国cms常用标签汇总
2015/07/06 PHP
php版微信公众平台开发之验证步骤实例详解
2016/09/23 PHP
PHP与以太坊交互详解
2018/08/24 PHP
js屏蔽鼠标键盘(右键/Ctrl+N/Shift+F10/F11/F5刷新/退格键)
2013/01/24 Javascript
js一般方法改写成面向对象方法的无限级折叠菜单示例代码
2013/07/04 Javascript
解决Jquery load()加载GB2312页面时出现乱码的两种方案
2013/09/10 Javascript
JavaScript调用ajax获取文本文件内容实现代码
2014/03/28 Javascript
chrome不支持form.submit的解决方案
2015/04/28 Javascript
js实现精美的图片跟随鼠标效果实例
2015/05/16 Javascript
简介JavaScript中substring()方法的使用
2015/06/06 Javascript
JavaScript驾驭网页-DOM
2016/03/24 Javascript
JQuery实现简单的服务器轮询效果实例
2016/03/31 Javascript
响应式表格之固定表头的简单实现
2016/08/26 Javascript
JS常见疑难点分析之match,charAt,charCodeAt,map,search用法分析
2016/12/25 Javascript
H5图片压缩与上传实例
2017/04/21 Javascript
cordova入门基础教程及使用中遇到的一些问题总结
2017/11/14 Javascript
vue.js给动态绑定的radio列表做批量编辑的方法
2018/02/28 Javascript
vue2.0 实现页面导航提示引导的方法
2018/03/13 Javascript
JavaScript根据json生成html表格的示例代码
2018/10/24 Javascript
JavaScript中的垃圾回收与内存泄漏示例详解
2019/05/02 Javascript
Vue.js标签页组件使用方法详解
2019/10/19 Javascript
webpack 动态批量加载文件的实现方法
2020/03/19 Javascript
Javascript实现简易天数计算器
2020/05/18 Javascript
实例分析javascript中的异步
2020/06/02 Javascript
Python 匹配任意字符(包括换行符)的正则表达式写法
2009/10/29 Python
Python实现简单网页图片抓取完整代码实例
2017/12/15 Python
wxPython的安装图文教程(Windows)
2017/12/28 Python
Python 从一个文件中调用另一个文件的类方法
2019/01/10 Python
Python中IP地址处理IPy模块的方法
2019/08/16 Python
详解Python高阶函数
2020/08/15 Python
《赶海》教学反思
2014/04/20 职场文书
解决SpringBoot跨域的三种方式
2021/06/26 Java/Android
Python多线程实用方法以及共享变量资源竞争问题
2022/04/12 Python
Python尝试实现蒙特卡罗模拟期权定价
2022/04/21 Python