0
A
回答
3
可能是它可以幫助你:
SELECT * FROM table ORDER BY level;
您會收到這樣的事:
$a = array(
array('id' => 1, 'parent_id' => 0, 'level' => 0),
array('id' => 2, 'parent_id' => 1, 'level' => 1),
array('id' => 3, 'parent_id' => 1, 'level' => 1),
array('id' => 4, 'parent_id' => 2, 'level' => 2),
array('id' => 5, 'parent_id' => 3, 'level' => 2)
);
準備這個數組:
$prepare = array();
foreach ($a as $record) {
$prepare[$record['id']] = $record;
}
和遞歸走路吧:
function getTree($array, $id, $level = 0)
{
if ($array[$id]['level'] != $level) {
return;
}
echo '<ul>' . PHP_EOL;
echo '<li>' . $id;
foreach ($array as $data) {
if (($data['parent_id'] === $id)){
getTree($array, $data['id'], $level + 1);
}
}
echo '</li>'. PHP_EOL;
echo '</ul>'. PHP_EOL;
}
getTree($prepare, 1);
它例如做回:
<ul>
<li>1<ul>
<li>2<ul>
<li>4</li>
</ul>
</li>
</ul>
<ul>
<li>3<ul>
<li>5</li>
</ul>
</li>
</ul>
</li>
</ul>
+0
我沒有設法運行您的建議。但它指出我[這一個](http://stackoverflow.com/a/4414040/1458189),完全符合我的需求。非常感謝您的幫助。 – MrSo 2013-02-13 10:36:24
相關問題
- 1. PHP生成UL LI,UL LI
- 2. 從UL LI中刪除類但不是UL LI使用jQuery的UL LI LI
- 3. 表與ul/li
- 4. IE Ul LI Padding?
- 5. index ul li touchstart
- 6. jquery menu ul li
- 7. jQuery loop ul li
- 8. 刪除以編程方式添加的LI來自UL
- 9. CSS - 如何繼續在UL LI的第二列UL LI
- 10. cyclat一個數組來傳遞UL - LI
- 11. UL LI Horizonal List
- 12. 多級ul li backbone.js
- 13. CKEditor:自定義樣式UL/LI元素
- 14. ul li rows but ordered
- 15. ul li $(this).text()nothing
- 16. Ul li展開jquery
- 17. jquery count li的頂級UL
- 18. ul li的jQuery問題
- 19. Dynamic/Infinate UL/LI Hover擴展....?
- 20. HTML + ul li對齊中心
- 21. 替代行顏色UL LI
- 22. ul li圖像填補div
- 23. LI高度與UL相同
- 24. jQuery ul li懸停效果
- 25. PHP Foreach with UL groups and LI
- 26. 對準UL li元素
- 27. UL LI垂直對齊?
- 28. Wordpress Tinymce Tabs(ul-li elements)
- 29. Ul li下拉選擇框
- 30. 3層li ul菜單
你想輸出這個由PHP腳本爲HTML? – BattleBit 2013-02-12 10:38:11
@BattleBit是的。但是,我在UL和LI之間混合使用筆刷:o) – MrSo 2013-02-12 13:24:49