【发布时间】:2013-08-30 12:02:37
【问题描述】:
我现在正在使用 cmets 系统,但遇到了一些问题。我正在制作一个这样的分层评论系统:
评论1
--comment2
----comment4
评论3
--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";
然后使用这个函数:
函数映射树($数据集) { $tree = 数组(); foreach ($dataset as $id=>&$node) { if (!$node['parent_id']) { $tree[$id] = &$node; } 别的 { $dataset[$node['parent_id']]['childs'][$id] = &$node; } } 返回$树; }但如果我想将 cmets 的数量限制为 3 或 5 或 eth。我没有树了:
示例:
选择 id、parent_id、姓名、评论、 DATE_FORMAT(add_date, '%d %M %Y %H:%i') as add_date 来自 cmets 限制 2评论1
--comment2
我正在丢失具有父 ID 的 cmets。
你能帮我解决它或展示一些其他方法来构建评论树脚本吗?
【问题讨论】:
-
我建议物化路径
-
对于 MySQL 方面: 我相信您会发现这篇文章非常有用:mikehillyer.com/articles/managing-hierarchical-data-in-mysql。这一切都在那里详细解释。 对于 PHP 端: stackoverflow.com/questions/11404949/…
-
我在考虑这种方法,但尝试一些其他方式来组织树工作很有趣。
标签: php sql tree comments hierarchical