PHP 数据库树的遍历方法

 更新时间:2009年02月06日 02:54:32   作者:  
PHP数据库树的遍历方法
代码如下:
复制代码 代码如下:

<?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 '&nbsp;&nbsp;&nbsp;&nbsp;'.$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 "&nbsp;";
}
echo '&nbsp;&nbsp;&nbsp;&nbsp;'.$rss['lsh'].$rss['name']."<br>";
Visit($rss['lsh'],$stept+1);
}
}
}
?>

相关文章

  • PHP 作用域解析运算符(::)

    PHP 作用域解析运算符(::)

    今天 看joomla源码的时候,才意识到。原来这个操作符还可以访问类的非静态方法啊。真的让我吃惊不好。一直以为作用域解析运算符只能访问类的static方法和static成员变量。
    2010-07-07
  • php简单实现发送带附件的邮件

    php简单实现发送带附件的邮件

    这篇文章主要介绍了php简单实现发送带附件的邮件,涉及附件上传及邮件发送的相关技巧,需要的朋友可以参考下
    2015-06-06
  • 分析PHP的垃圾回收机制

    分析PHP的垃圾回收机制

    垃圾回收,简称gc。在说这个之前先接触一下内存泄露,大概意思就是申请了一块地儿拉了会儿屎,拉完后不收拾,那么那块儿地就算是糟蹋了,地越用越少,最后一地全是屎。说到底一句,用了记得还。一定程度上说,垃圾回收机制就是用来擦屁股的。
    2021-06-06
  • PHP中include和require的区别实例分析

    PHP中include和require的区别实例分析

    网上太多关于PHP中include与require区别。然而事实真的如此吗,今天我们就通过一个具体的实例来简单分析验证下
    2017-05-05
  • PHP session反序列化漏洞深入探究

    PHP session反序列化漏洞深入探究

    这篇文章主要介绍了PHP session反序列化漏洞,我们一般利用反序列漏洞,一般都是借助unserialize()函数,不过随着人们安全的意识的提高这种漏洞利用越来越来难了
    2022-11-11
  • PHP的mysqli_query参数MYSQLI_STORE_RESULT和MYSQLI_USE_RESULT的区别

    PHP的mysqli_query参数MYSQLI_STORE_RESULT和MYSQLI_USE_RESULT的区别

    这篇文章主要介绍了PHP的mysqli_query参数MYSQLI_STORE_RESULT和MYSQLI_USE_RESULT的区别,本文给出了这两个参数的5个区别,需要的朋友可以参考下
    2014-09-09
  • Linux下进行MYSQL编程时插入中文乱码的解决方案

    Linux下进行MYSQL编程时插入中文乱码的解决方案

    Linux下进行MYSQL编程时插入中文乱码的解决方案...
    2007-03-03
  • php动态绑定变量的用法

    php动态绑定变量的用法

    这篇文章主要介绍了php动态绑定变量的用法,涉及php变量的判定与动态定义的相关技巧,需要的朋友可以参考下
    2015-06-06
  • php实现无限级分类(递归方法)

    php实现无限级分类(递归方法)

    当你学习php无限极分类的时候,大家都觉得一个字“难”我也觉得很难,所以,现在都还在看,因为工作要用到,所以,就必须得研究研究。
    2015-08-08
  • php去掉URL网址中带有PHPSESSID的配置方法

    php去掉URL网址中带有PHPSESSID的配置方法

    这篇文章主要介绍了php开发的网站网址中带有PHPSESSID的解决办法,也就是把PHP的跨页传递SESSION选择在php.ini中关闭,这样这个参数就不会出现在URL中了,需要的朋友可以参考下
    2014-07-07

最新评论