如何使用<ul></ul>循环所有记录并显示各自的子记录?我试着使用PHP,但只停留在1级。
MySQL (select * from user)

期望输出
树视图

列表视图

发布于 2017-12-25 07:07:40
简单的办法是借助数组来完成这一任务。希望能帮上忙。
$data = array();
foreach ($result as $item) {
$key = $item['name']; // or $item['info_id']
if (!isset($data[$key])) {
$data[$key] = array();
}
$data[$key][] = $item;
}发布于 2017-12-25 14:46:22
您可以使用以下代码:
$aResults; // it is your mysql result (array)
$resultSorted = array();
$resultSorted = recursiveList($aResults, '');
function recursiveList(&$aResults, $iKey)
{
$aChilds = '<ul>';
foreach ($aResults as $iLoopKey => $aResult) {
if ($aResult['parent'] == $iKey) {
unset($aResults[$iLoopKey]);
$aChilds .= '<li>' . $aResult['name'] . '</li>';
$aChilds .= recursiveList($aResults, $aResult['name']);
}
}
return $aChilds . '</ul>';
}
// Output example
echo '<pre>';
print_r($resultSorted);因此,我收到了:

另外,您最好在表中使用“parent_id”而不是“父”。
https://stackoverflow.com/questions/47966430
复制相似问题