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

主頁 > 知識庫 > TP5.0框架實現無限極回復功能的方法分析

TP5.0框架實現無限極回復功能的方法分析

熱門標簽:百度地圖標注偏差 咸寧銷售電銷機器人系統 余姚電話機器人 外呼系統能給企業帶來哪些好處 百度地圖怎樣標注圖標 開發地圖標注類網站 廣東廣州在怎么申請400電話 400電話蘭州申請請 電銷機器人問門薩維品牌my

本文實例講述了TP5.0框架實現無限極回復功能的方法。分享給大家供大家參考,具體如下:

最近做項目的時候用到了評論回復,使用ThinkPHP5.0框架做回復碰到了一些問題,簡單總結一下。(李昌輝)

1.首先是數據表的設計:

create table zy_huifu
(
  code int auto_increment primary key, #回復代號
  puser varchar(50), #回復人員
  listcode int, #文章代號
  time varchar(50), #回復時間
  content text, #回復內容
  pcode int, #父級代號 0文章
  leval int, #級別 0頂級 1其它
  isok int #已讀未讀0未讀1已讀
);

評論和回復放在了一張表里面,為了在顯示的時候做區分,評論作為頂級回復級別代號為0,其它的子級回復級別代號為1。

每個回復都有一個父級代號代表回復的哪一條評論,如果是直接評論的文章,父級代號設置為0.

2.接下來是在頁面上顯示評論和回復信息:

在控制器里面,我們需要去查詢該文章下的所有評論及回復內容,并且注冊到TP框架里面,這里調用了一個方法CommentList()來獲取該文章下的評論回復:

//查詢評論
$ahuifu = $this->CommentList($code,0);
$this->assign("ahuifu",$ahuifu);

CommentList()方法如下,使用遞歸的方式將所有評論回復按照一定的順序查詢出來并且存儲到數組里面:

//讀取評論列表的遞歸,code為文章代號,pcode為父級代號
  public function CommentList($code,$pcode){
    $commentlist = array(); //存儲評論數組
    $list = Db::table("zy_huifu")
    ->alias('a')
    ->where("listcode",$code)
    ->where("pcode",$pcode)
    ->join("zy_user b","a.puser = b.uid")
    ->select();
    foreach($list as $v){
      $commentlist[] = $v;
      //查詢子回復
      $zi = $this->CommentList($code,$v["code"]);
      if(count($zi)){
        foreach($zi as $v1){
          $commentlist[] = $v1;
        }
      }
    }
    return $commentlist;
  }

在view視圖頁面顯示數據:

{volist name="ahuifu" id="vp"}
        {if condition="($vp.leval == 0)"}
        div class="panel panel-default pl_list">
        div class="panel-body pl_list_nr">
          div class="show_nr_pl_tou">
            img src="{$vp.img}" width="30" height="30" /> nbsp;
            span>{$vp.name}/span>nbsp;
            span>{$vp.time|date="Y-m-d H:i:s",###}/span>nbsp;
            span>button class="btn btn-primary btn-xs show_huifu_btn" pcode="{$vp.code}">回復/button>/span>
          /div>
          div class="show_nr_pl_nr">
            {$vp.content}
          /div>
        /div>
        /div>
        {else /}
        div class="panel panel-default pl_list">
        div class="panel-body pl_list_nr" style="margin-left:50px">
          div class="show_nr_pl_tou">
            img src="{$vp.img}" width="30" height="30" /> nbsp;
            span>{$vp.name}/span>nbsp;
            span>{$vp.time|date="Y-m-d H:i:s",###}/span>nbsp;
            span>button class="btn btn-primary btn-xs show_huifu_btn" pcode="{$vp.code}">回復/button>/span>
          /div>
          div class="show_nr_pl_nr">
            {$vp.content}
          /div>
        /div>
        /div>
        {/if}
{/volist}

3.添加回復及評論

添加評論的時候注意將父級代號pcode添加為0,將級別leval添加為0即可。

添加回復的時候將父級代號添加為要回復的這一條數據的主鍵,將級別leval添加為1即可。

具體實現比較簡單,不贅述。

更多關于thinkPHP相關內容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結》、《ThinkPHP常用方法總結》、《codeigniter入門教程》、《CI(CodeIgniter)框架進階教程》、《Zend FrameWork框架入門教程》及《PHP模板技術總結》。

希望本文所述對大家基于ThinkPHP框架的PHP程序設計有所幫助。

您可能感興趣的文章:
  • ThinkPHP無限級分類原理實現留言與回復功能實例
  • thinkphp實現無限分類(使用遞歸)
  • thinkPHP實現遞歸循環欄目并按照樹形結構無限極輸出的方法
  • ThinkPHP自動填充實現無限級分類的方法
  • 解析thinkphp的左右值無限分類
  • 使用ThinkPHP的自動完成實現無限級分類實例詳解
  • Thinkphp無限級分類代碼
  • thinkPHP框架實現的無限回復評論功能示例
  • thinkphp5實現無限級分類
  • PHP實現的無限分類類庫定義與用法示例【基于thinkPHP】
  • thinkphp5使用無限極分類

標簽:銅陵 重慶 臨沂 鷹潭 衡陽 十堰 麗江 巴彥淖爾

巨人網絡通訊聲明:本文標題《TP5.0框架實現無限極回復功能的方法分析》,本文關鍵詞  TP5.0,框架,實現,無限,極,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《TP5.0框架實現無限極回復功能的方法分析》相關的同類信息!
  • 本頁收集關于TP5.0框架實現無限極回復功能的方法分析的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 大港区| 阳东县| 大连市| 山东省| 湖南省| 米林县| 鹿邑县| 葵青区| 道真| 博罗县| 富平县| 石狮市| 叶城县| 新化县| 九龙坡区| 长丰县| 荃湾区| 桦南县| 合水县| 新绛县| 桐城市| 枣庄市| 疏附县| 千阳县| 琼结县| 迁西县| 赤峰市| 呼伦贝尔市| 西盟| 芒康县| 逊克县| 绵竹市| 九龙坡区| 长子县| 秦皇岛市| 东阳市| 怀化市| 大庆市| 贺州市| 平顶山市| 铜鼓县|