首頁 > 後端開發 > PHP問題 > php怎麼實現多次回复

php怎麼實現多次回复

藏色散人
發布: 2023-03-14 11:40:01
原創
2091 人瀏覽過

php實作多次回覆的方法:1、建立「function commentList($aid,$pid = 0,&$result=array()){...}」;2、透過「$this ->commentList($aid);”方式呼叫即可。

php怎麼實現多次回复

本文操作環境:Windows7系統,PHP7.4版,Dell G3電腦。

php怎麼實現多次回應?

PHP無限級評論回覆功能實作

protected  function commentList($aid,$pid = 0,&$result=array()){
    $arr = ArticleComment::relation(['usertalent'=> function($query){
        $query->field('id,talent_usernickname,talent_avatar');
    }])->where(['pid' => $pid])->where(['article_id' => $aid])->order('id desc')->select();
    if(empty($arr)){
        return array();
    }
    foreach ($arr as $cm) {
        $thisArr=&$result[];
        $cm["children"] = $this->commentList($aid,$cm["id"],$thisArr);
        $thisArr = $cm;
    }
    return $result;
}
登入後複製

呼叫方法

$this->commentList($aid);
登入後複製

專案中使用tp5寫文章評論回覆功能

#表中使用pid來標識回覆表的id 表結構如下

CREATE TABLE `bcpub_article_comment` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`author_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '作者ID',
`article_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '文章ID',
`pid` int(11) unsigned NOT NULL DEFAULT '0',
`uid` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '评论人ID',
`comment` varchar(250) NOT NULL DEFAULT '',
`give_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '评论点赞数量',
`add_time` int(10) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
KEY `author_id` (`author_id`),
KEY `pid` (`pid`)
) ENGINE=MyISAM AUTO_INCREMENT=97 DEFAULT CHARSET=utf8 COMMENT='文章评论表'
登入後複製

推薦學習:《PHP影片教學

以上是php怎麼實現多次回复的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
php
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板