私は現在コメントシステムを使用していますが、いくつかの問題が発生しました。私はこのような階層コメントシステムを作っています:
コメント1
--コメント2
----コメント4
コメント3
--コメント5
私はこのクエリを作成するために使用します:
$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";
そして、この関数を使用します:
関数 mapTree( $dataset )
{
$ツリー = 配列();
foreach ($dataset as $id=>&$node)
{
if (!$node['parent_id'])
{
$tree[$id] = &$node;
}
そうしないと
{
$dataset[$node['parent_id']]['childs'][$id] = &$node;
}
}
$ツリーを返します。
}
しかし、コメントの数を3または5またはethに制限したい場合。もうツリーはありません:
例:
SELECT ID、parent_id、名前、コメント、
DATE_FORMAT(add_date, '%d %M %Y %H:%i') as add_date
FROM コメント LIMIT 2
コメント1
--コメント2
親 ID を持つコメントが失われています。
それを解決したり、コメント ツリー スクリプトを作成する別の方法を教えてくれませんか?