按上下级层次关系输出内容的PHP代码

yipeiwu_com5年前PHP代码库
复制代码 代码如下:

function getSubComments($parent = 0, $level = 0) {
$db = &JFactory::getDBO();

$sql = "..."; // 查询记录的SQL
$db->setQuery($sql);
$rows = $db->loadObjectList();

$list = array();

// 先从数据得到记录集,再对记录添加level, 父层level = 0,它的下级level = 1,如此类推
foreach ($rows as $row) {
$row->level = $level;
$list[] = $row;

$tmpArr = getSubComments($row->id, $level + 1); // 递归调用
if (count($tmpArr)) {
foreach ($tmpArr as $tmpRow) {
$list[] = $tmpRow;
}
}
}

return $list;
}

$list = array();
foreach ($tmpList as $row) {
$row->level = 0;
$list[] = $row;
$tmpList2 = getSubComments($row->id, 1);
foreach ($tmpList2 as $row2) {
$list[] = $row2;
}
}

// 按level分层次输出内容
if ($row->level) {
$pre = '';
for ($n = 0; $n < $row->level; $n++)
$pre .= '----';

echo $pre . '|- ';
}
echo strip_tags($row->content);

相关文章

PHP操作MongoDB时的整数问题及对策说明

PHP操作MongoDB时的整数问题及对策说明

MongoDB本身有两种整数类型,分别是:32位整数和64位整数,但旧版的PHP驱动不管操作系统是32位还是64位,把所有整数都当做32位整数处理,结果导致64位整数被截断。为了在尽可能...

php实现对两个数组进行减法操作的方法

本文实例讲述了php实现对两个数组进行减法操作的技巧。分享给大家供大家参考。具体如下: 本代码传入两个数组A和B,返回A-B的结果,即挑选出存在于A,但不存在于B的元素 <&#...

php 魔术方法使用说明

PHP5.0后,php面向对象提成更多方法,使得php更加的强大!! 一些在PHP叫魔术方法的函数,在这里介绍一下:其实在一般的应用中,我们都需要用到他们!!1.__construct(...

PHP实现找出链表中环的入口节点

本文实例讲述了PHP实现找出链表中环的入口节点。分享给大家供大家参考,具体如下: 问题 一个链表中包含环,请找出该链表的环的入口结点。 解决思路 第一步,找环中相汇点。分别用p1,p2指...

windows下安装php的memcache模块的方法

windows下安装php的memcache模块的方法

要求必备知识 熟悉基本编程环境搭建。 运行环境 windows 7(64位); php-5.3; memcached-1.2.6 下载地址 环境下载 什么是PHP Memcache模块...