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; }
返回出來的資料結構如下:
[ '一級評論', 'childs' => [ '二級評論' 'childs' => [ '....' ] ] ]
3、最後將轉換後的評論資料,迴圈展示出來即可。
以上就是php實現無限級評論功能的詳細內容,更多請關注TW511.COM其它相關文章!