ホームページ  >  記事  >  バックエンド開発  >  PHPのバックグラウンドコメントの実装

PHPのバックグラウンドコメントの実装

不言
不言オリジナル
2018-07-05 14:09:233428ブラウズ

この記事では、主に 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 中国語 Web サイトにご注目ください。

関連する推奨事項:

PHP は Azure Storage Blob を使用してファイルをアップロードします

PHP 背景画像のアップロード機能の概要

以上がPHPのバックグラウンドコメントの実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。