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

时间:2022-08-24 16:32:48

代码如下:


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);