無制限のコメントを実装するための php メソッド
1. まず、コメント テーブルに親コメント ID を保存するフィールドを追加します (デフォルト)。値が 0 の場合、親 ID が 0 の場合、それが最上位のカテゴリになります。
SQL:
CREATE TABLE comment ( comm_id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT, user_id INT UNSIGNED NOT NULL DEFAULT 0 , parent_id INT UNSIGNED NOT NULL DEFAULT 0 , article_id INT UNSIGNED NOT NULL DEFAULT 0 , comm_cont TEXT, comm_time INT UNSIGNED NOT NULL DEFAULT 0 ) ENGINE=MYISAM CHARSET=UTF8 ;
2. コメント データをツリー構造に変換する再帰関数を作成します;
PHP:
function get_childs_comment($comments, $parent_id = 0, $level = 0) { $new_comments = []; foreach ($comments as $key => $val) { if ($val['pid'] == $parent_id) { $val['level'] = $level; $val['childs'] = get_childs_comment($comments, $val['id'], $level + 1); $new_comments[] = $val; } } return $new_comments; }
returned データ構造
[ '一级评论', 'childs' => [ '二级评论' 'childs' => [ '....' ] ] ]
3. 最後に、変換されたコメントデータをループ表示することができます。
以上がPHPが無制限のコメント機能を実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。