校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > php實現文章評論系統

php實現文章評論系統

熱門標簽:電梯外呼線路板維修視頻 十堰ai電話機器人效果怎么樣 上海公司外呼系統線路 浙江外呼電話系統軟件 安陽自動外呼系統價格是多少 地圖標注風向標 臨沂智能電銷機器人軟件 芒果電銷機器人 銀川ai電話機器人

最近工作中需要完成一個評論的功能,上網查找了幾個評論系統的展示樣式。最后參考“多說”和“暢言”等評論系統,自己使用PHP語言實現了一個簡單的評論系統。并記錄了兩種方式(遞歸方式和非遞歸方式)的實現過程,以及分析兩種方式的優缺點,但前端如何實現就沒有展現了。

首先設計數據庫如下:

create table `comments`(
 `id` bigint unsigned not null AUTO_INCREMENT,
 `arc_id` bigint unsigned not null COMMENT '文章id',
 `user_id` bigint unsigned not null COMMENT '用戶id',
 `comment_id` bigint unsigned not null DEFAULT '0' COMMENT '回復某個評論的id',
 `content` varchar(255) not null DEFAULT '' COMMENT '評論或回復的內容',
 `add_time` timestamp not null DEFAULT CURRENT_TIMESTAMP COMMENT '添加時間',
 PRIMARY KEY (`id`),
 KEY `arc_id` (`arc_id`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT '文章評論表';

創建測試數據如下:

具體實現方案如下(在ThinkPHP框架上實現):

1、遞歸方式

優點:實現代碼簡單,而且如果評論的層級固定在5個層次一下的話,建議使用該種方法,這樣前端通過這種數據結果實現簡單。

缺點:如果評論的層級沒有固定的話,前端將無法展示評論信息了,而且如果層級太多的話,將會極大的消耗內存,更要命的是每次遞歸都得查詢數據庫,性能將大大的降低。

/**
 * @param $arc_id  文章id
 * @param int $comm_id  評論id
 * @param array $result
 * @return array
 */
function getCommlist($arc_id, $comm_id = 0, $result = array()){  //獲取評論列表
 if(empty($arc_id)){
 return array();
 }
 $_where = "arc_id = {$arc_id} AND comment_id = {$comm_id}";
 $res = M('comments')->where($_where)->order('add_time DESC')->select();
 if(empty($res)){
 return array();
 }
 foreach ($res as $cm) {
 $thisArr = $result[];
 $cm["_child"] = getCommlist($arc_id,$cm['id'],$thisArr);
 $thisArr = $cm;
 }
 
 return $result;
}

部分數據展示如下:

2、非遞歸方式(堆棧方式實現)

優點:只查詢一次數據庫,性能較好。可以實現n層級的評論,前端也能很好的展示

缺點:代碼稍微復雜,對于固定的層級評論,前端展示評論較為復雜。

/**
 * @param $arc_id 文章id
 * @return array
 */
public function getCommlist($arc_id){
 if(empty($arc_id)){
 return array();
 }
 $res = M('comments')->where(array('arc_id'=>$arc_id))->order('add_time ASC')->select();
 $dataList = $stack = array();
 if($res){
 foreach($res AS $k=>$v){  //先將評論的數據進行入庫(即comment_id=0)
  if($v['comment_id'] == 0){
  $v['_level'] = 0;  //設置層級數
  $v['_root'] = $v['id'];  //標識評論id
  array_push($stack,$v);  //入棧
  unset($res[$k]);
  }
 }
 
 while(!empty($stack)){
  $node = array_pop($stack);  //出棧
  $dataList[] = $node;
  foreach($res as $_k=>$_v){
  if($_v['comment_id'] == $node['id']){
   $_v['_level'] = $node['_level']+1;  //設置層級數
   $_v['_root'] = $node['_root'];  //標識評論id
   array_push($stack,$_v);  //入棧
   unset($res[$_k]);
  }
  }
 }
 }
 
 return $dataList;
}

數據展示效果如下:

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • PHP+Mysql無刷新問答評論系統(源碼)
  • PHP Ajax實現頁面無刷新發表評論
  • PHP Ajax實現頁面無刷新發表評論
  • 使用AngularJS和PHP的Laravel實現單頁評論的方法
  • php實現評論回復刪除功能
  • ThinkPHP上使用多說評論插件的方法
  • PHP抓取淘寶商品的用戶曬單評論+圖片+搜索商品列表實例
  • PHP仿qq空間或朋友圈發布動態、評論動態、回復評論、刪除動態或評論的功能(上)
  • 詳解WordPress中調用評論模板和循環輸出評論的PHP函數

標簽:荊門 常州 徐州 武威 遂寧 寧夏 遵義 吐魯番

巨人網絡通訊聲明:本文標題《php實現文章評論系統》,本文關鍵詞  php,實現,文章,評論,系統,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《php實現文章評論系統》相關的同類信息!
  • 本頁收集關于php實現文章評論系統的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    国产一区二区在线观看免费| 国产在线看一区| 日韩精品每日更新| 欧美日韩国产bt| 香蕉久久一区二区不卡无毒影院| 成人高清视频免费观看| 综合在线观看色| 欧美欧美欧美欧美首页| 国产一区二区精品在线观看| 国产精品你懂的在线| 99久久精品情趣| 天堂va蜜桃一区二区三区| 久久综合狠狠综合久久综合88 | 在线精品国精品国产尤物884a| 亚洲午夜国产一区99re久久| 26uuu亚洲| 欧美三级乱人伦电影| 美女视频一区在线观看| 国产精品入口麻豆原神| 91精品综合久久久久久| av在线综合网| 九一九一国产精品| 亚洲电影在线播放| 国产日本欧美一区二区| 91精品国产综合久久久久久漫画| 成人免费福利片| 久久99国产乱子伦精品免费| 亚洲综合免费观看高清在线观看| 精品日韩在线观看| 欧美日韩亚洲综合| 97久久超碰国产精品电影| 韩国av一区二区三区四区| 天天色天天操综合| 亚洲精品视频自拍| 亚洲视频你懂的| 中文字幕精品在线不卡| 26uuu国产电影一区二区| 欧美精品丝袜久久久中文字幕| 一本大道久久a久久精二百| 成人国产精品免费观看| 懂色av噜噜一区二区三区av| 国产成人av福利| 狠狠狠色丁香婷婷综合激情| 久久精品国产色蜜蜜麻豆| 另类的小说在线视频另类成人小视频在线| 自拍偷在线精品自拍偷无码专区| 久久亚洲一级片| 国产无人区一区二区三区| 久久久久久亚洲综合影院红桃| 欧美mv和日韩mv国产网站| 欧美一区二区啪啪| 精品日韩99亚洲| 欧美精品一区二区高清在线观看| 日韩午夜在线影院| 精品国产精品网麻豆系列| 精品电影一区二区| 国产欧美日韩精品a在线观看| 久久老女人爱爱| 久久先锋影音av| 欧美国产激情二区三区| 欧美高清一级片在线观看| 国产精品久久久久久久久图文区| 国产精品久久夜| 最新欧美精品一区二区三区| 亚洲欧美福利一区二区| 亚洲综合一区在线| 日本欧美在线观看| 国产一区二区三区黄视频| 懂色av一区二区三区蜜臀| av一区二区久久| 欧美人体做爰大胆视频| 337p日本欧洲亚洲大胆精品| 亚洲欧美一区二区三区极速播放| 亚洲精品国产高清久久伦理二区| 一区二区三区在线免费| 一区二区激情小说| 亚洲国产日日夜夜| 秋霞国产午夜精品免费视频| 国产综合一区二区| 色综合天天天天做夜夜夜夜做| 在线亚洲+欧美+日本专区| 欧美欧美欧美欧美首页| 久久精品免费在线观看| 中文字幕亚洲在| 日韩1区2区日韩1区2区| 丰满少妇久久久久久久| 欧美日韩精品一区二区| 国产午夜精品福利| 日韩在线一二三区| a美女胸又www黄视频久久| 欧美精品日韩一区| 国产精品你懂的在线欣赏| 人妖欧美一区二区| 在线一区二区三区四区| 精品国产乱码久久久久久浪潮| 亚洲人午夜精品天堂一二香蕉| 久久精品国产精品亚洲精品| 日本电影欧美片| 中文字幕高清不卡| 久久精品国产一区二区三区免费看| caoporen国产精品视频| 精品国产伦一区二区三区观看体验| 亚洲女女做受ⅹxx高潮| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 亚洲电影你懂得| 成人国产精品免费网站| 精品欧美久久久| 亚洲成人1区2区| 91无套直看片红桃| 亚洲国产成人在线| 国产精品456露脸| 日韩欧美国产精品| 日日噜噜夜夜狠狠视频欧美人| 91色乱码一区二区三区| 久久精品亚洲精品国产欧美kt∨| 日韩精品亚洲一区| 91.麻豆视频| 日韩电影在线免费| 欧美精品日韩一本| 亚洲福利视频三区| 欧美日韩在线亚洲一区蜜芽| 亚洲欧美日韩一区二区 | 国内欧美视频一区二区| 欧美一区二区免费| 另类小说视频一区二区| 精品少妇一区二区三区视频免付费| 丝袜亚洲另类欧美| 717成人午夜免费福利电影| 亚洲大尺度视频在线观看| 欧洲视频一区二区| 亚洲成年人网站在线观看| 欧美片在线播放| 免费观看久久久4p| 精品国产123| 国产超碰在线一区| 国产精品久久久99| 色欧美88888久久久久久影院| 亚洲激情六月丁香| 欧美性做爰猛烈叫床潮| 天天色天天操综合| 欧美精品一区二区蜜臀亚洲| 丰满放荡岳乱妇91ww| 亚洲摸摸操操av| 欧美日韩高清一区二区| 日欧美一区二区| 精品福利一二区| 99久久综合99久久综合网站| 亚洲男人天堂av| 日韩欧美国产1| 国产91露脸合集magnet| 亚洲精品一二三| 精品奇米国产一区二区三区| 国产综合成人久久大片91| 久久精品日韩一区二区三区| 成人激情av网| 亚洲成人一二三| 欧美成人video| 99国产精品久久久久久久久久| 亚洲制服丝袜在线| 精品入口麻豆88视频| 91首页免费视频| 欧美bbbbb| 亚洲人精品午夜| 精品国产成人系列| 在线视频你懂得一区| 激情五月婷婷综合网| 一区二区三区在线播放| 精品国产91亚洲一区二区三区婷婷| 99精品视频一区| 国产永久精品大片wwwapp| 一区二区三区久久| 国产精品色眯眯| 精品国产污污免费网站入口| 欧美性淫爽ww久久久久无| 国产九色sp调教91| 日韩vs国产vs欧美| 亚洲人被黑人高潮完整版| 久久婷婷久久一区二区三区| 欧美日韩在线三级| 91香蕉视频mp4| 高清久久久久久| 久久不见久久见中文字幕免费| 国产精品久久久久久户外露出| 日韩欧美国产1| 欧美精品第1页| 成人18精品视频| 成人中文字幕在线| 国产精品久久99| 天天免费综合色| 亚洲欧洲成人自拍| 在线观看视频欧美| 丰满岳乱妇一区二区三区| 亚洲精品你懂的| 精品乱人伦一区二区三区| 国产老女人精品毛片久久| 久久精品国产亚洲一区二区三区 | 在线欧美小视频| 激情综合色综合久久| 欧美亚洲禁片免费| 欧美日本一区二区三区四区|