私は現在コメントシステムを使用していますが、いくつかの問題が発生しました。私はこのような階層コメントシステムを作っています:
コメント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 を持つコメントが失われています。
それを解決したり、コメント ツリー スクリプトを作成する別の方法を教えてくれませんか?