按上下级层次关系输出内容的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);

相关文章

使用eAccelerator加密PHP程序

使用 eAccelerator 加密PHP程序 复制代码 代码如下:# /usr/local/bin/encoder 执行后会看到简单的使用说明: 复制代码 代码如下:Usage: en...

PHP中file_exists函数不支持中文名的解决方法

一般来说PHP中常使用file_exists()判断某个文件或者文件夹是否存在,如果存在则返回true,否则返回false。但是该函数在网页使用UTF8编码的情况下,对于中文的文件名或者...

PHP XML操作的各种方法解析(比较详细)

PHP XML操作的各种方法解析(比较详细)

XML是一种流行的半结构化文件格式,以一种类似数据库的格式存储数据。在实际应用中,一些简单的、安全性较低的数据往往使用 XML文件的格式进行存储。这样做的好处一方面可以通过减少与数据库的...

PHP简单计算两个时间差的方法示例

本文实例讲述了PHP简单计算两个时间差的方法。分享给大家供大家参考,具体如下: <?php //PHP计算两个时间差的方法 $startdate="2010-12-1...

Referer原理与图片防盗链实现方法详解

Referer原理与图片防盗链实现方法详解

本文实例讲述了Referer原理与图片防盗链实现方法。分享给大家供大家参考,具体如下: 1、图片防盗链 在一些大型网站中,比如百度贴吧,该站点的图片采用了防盗链的规则,以至于使用下面代码...