PHP后台评论的实现

不言
不言asal
2018-07-05 14:09:233574semak imbas

这篇文章主要介绍了关于PHP后台评论的实现,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

/**
    * 添加评论
    * content 评论内容
    * addtime 评论时间
    * uid  评论作品
    */
   public  function padd(){
       $param=input('param.');
       $param['pid']=session('tid');
       if(empty($param['uid'])){
           return json(['code'=>2,'message'=>'uid不能为空']);
       }
$data=db('comments')->insertGetId(['uid'=>$param['uid'],'content'=>$param['content'],'addtime'=>$param['addtime'],'pid'=>$param['pid']]);
       if($data){
           return json(['code'=>1,'message'=>'评论成功']);
       }else{
           return json(['code'=>2,'message'=>'评论失败']);
       }
   }
/**
    * 评论展示
    * uid   comments表
    * page  页数
    * num   条数
    */
   public function comment(){
       $param=input('param.');
       $param['pid']=session('tid');//用户id
       if(empty($param['page'])){
           $param['page']=1;
       }
if(empty($param['num'])){
           $param['num']=5;
       }
       if(empty($param['uid'])){
           return json(['code'=>2,'message'=>'uid不能为空']);
       }
$data=db('comments')->where('uid',$param['uid'])->page($param['page'],$param['num'])->select();
$commentslike=db('commentslike');
       $people=db('people');
       foreach ($data as $k=>$value) {
           //查看评论点赞表的状态
           $state=$commentslike->where(['pid'=>$param['pid'],'uid'=>$param['uid'],'cid'=>$value['data']])->value('state');
           if(empty($state)){
               $state = '还未点赞';
           }
           $data[$k]['state']=$state;
//获取评论人的手机号
           $people=$people->where('id',$value['pid'])->value('tel');
           $data[$k]['tel']=$people;

           //把二级评论添加到数组数据中
           if($value['rpid'] !== 0){
               // $r_pid = $commentslike->where(['id'=>$value['rpid']])->value('pid');
               $r_tel = $people->where('id',$value['rpid'])->value('tel');
               $data[$k]['r_tel'] = $r_tel;
           }else{
               $data[$k]['r_tel'] = '';
           }
}
       return json(['code'=>1,'data'=>$data]);
   }
/**
    * 评论点赞
    * uid  作品id
    */
   public function commentslike(){
      $param=input('param.');
      $param['pid']=session::get('tid');
if(empty($param['uid'])){
           return json(['code'=>2,'message'=>'uid不能为空']);
       }
       //判断该作品有没有评论
      $comments=db('comments')->where('uid',$param['uid'])->select();
      if(!empty($comments)){
           //判断他有没有点赞
           $data=db('commentslike')->where(['uid'=>$param['uid'],'pid'=>$param['pid'],'cid'=>$comments['id']])->find();
           if(empty($data)){
               $like=db('commentslike')->insertGetId(['uid'=>$param['uid'],'pid'=>$param['pid'],'cid'=>$comments['id'],$param['state']=>'点赞']);
               if($like){
                   return json(['code'=>1,'message'=>'点赞成功']);
               }else{
                   return json(['code'=>1,'message'=>'点赞失败']);
               }
           }else{
               if($data['state']=='取消点赞'){
                   $like=db('commentslike')->where(['uid'=>$param['uid'],'pid'=>$param['pid'],'cid'=>$comments['id']])->update([$param['state']=>'点赞']);
               }elseif($data['state']=='点赞'){
                   $like=db('commentslike')->where(['uid'=>$param['uid'],'pid'=>$param['pid'],'cid'=>$comments['id']])->update([$param['state']=>'取消点赞']);
               }
           }
}else{
           return json(['code'=>2,'message'=>'此作品还未评论']);
      }
   }
/**
    * 回复评论
    * uid 作品id
    * content  回复内容
    * cid   这条评论的id
    * uid 作品id  pid 评论人id  
    */
   public function reply(){
       $param['pid'] = session('tid');
       $param = input('param.');
       //被评论的id     $param['cid']
       $data = db('comments')->where(['id'=>$param['rid']])->find();
       if($data['rid'] !== 0){
           $param['rid'] = $data['rid'];//被回复人的pid.
       }
       $param['rid'] = $data['id'];//被回复人的pid.
$param['rpid'] = $data['pid'];
//评论内容  $param['content'] 
       //作品id  $param['uid']
       $param['addtime'] = date('Y-m-d H:i:s');
       $id = db('comments')->insertGetId(['uid'=>$param['uid'],'content'=>$param['content'],'addtime'=>$param['addtime'],'pid'=>$param['pid'],'rid'=>$param['rid']]);
       if($id){
           return json(['code'=>1,'messgae'=>'回复成功']);
       }else{
           return json(['code'=>2,'message'=>'回复失败']);
       }
   }

   /**
    * 查看二级评论
    * uid 作品id
    * rid   这条评论的id
    */
   public function GetRCommtens($value='')
   {
       $data = db('comments')->where(['rid'=>$param['rid']])->select();
   }

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

PHP使用Azure Storage Blob上传文件

PHP后台图片上传作品的介绍

Atas ialah kandungan terperinci PHP后台评论的实现. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:PHP超全局变量的介绍Artikel seterusnya:文件上传绕过黑名单的方法