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

2015-01-24信息快讯网

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);
©2014-2024 dbsqp.com