我現在正在使用評論系統,我遇到了一些問題。我想提出一個分層的評論系統是這樣的:如何構建分層註釋樹?
註釋1
--comment2
---- comment4
將comment3
--comment5
我使用進行查詢:
$sql = "SELECT id, parent_id, name, comment,
DATE_FORMAT(add_date, '%d %M %Y %H:%i') as add_date
FROM comments ORDER BY id DESC";
,然後使用此功能:
function mapTree($dataset) { $tree = array(); foreach ($dataset as $id=>&$node) { if (!$node['parent_id']) { $tree[$id] = &$node; } else { $dataset[$node['parent_id']]['childs'][$id] = &$node; } } return $tree; }
,但如果我要評論數限制爲3或5或ETH。我沒有一棵樹更多:
例如:
SELECT id, parent_id, name, comment, DATE_FORMAT(add_date, '%d %M %Y %H:%i') as add_date FROM comments LIMIT 2
註釋1
--comment2
我失去的是有父ID意見。
難道你能幫我解決它還是顯示一些其他方式來構建評論樹腳本?
我建議物化路徑 –
**對於MySQL方:**我敢肯定你會發現這篇文章非常有用:http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/。這裏都詳細解釋了這一點。 **對於PHP方面:** http://stackoverflow.com/questions/11404949/how-to-build-a-tree-in-php-having-id-parent-id-and-depth-variables –
我是通過這種方法,但嘗試其他方式組織樹木工作很有趣。 – myrko