Maison  >  Article  >  développement back-end  >  Implémentation des commentaires de fond PHP

Implémentation des commentaires de fond PHP

不言
不言original
2018-07-05 14:09:233527parcourir

Cet article présente principalement l'implémentation des commentaires d'arrière-plan PHP, qui ont une certaine valeur de référence. Maintenant, je le partage avec tout le monde. Les amis dans le besoin peuvent s'y référer

/**
    * 添加评论
    * 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();
   }

Ce qui précède est l'intégralité du contenu de. cet article. J'espère qu'il sera utile à l'apprentissage de tout le monde. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois !

Recommandations associées :

PHP utilise Azure Storage Blob pour télécharger des fichiers

Introduction aux travaux de téléchargement d'images d'arrière-plan PHP

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn