当前位置:Gxlcms > PHP教程 > PHP后台评论的实现

PHP后台评论的实现

时间:2021-07-01 10:21:17 帮助过:1人阅读

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

  1. /**
  2. * 添加评论
  3. * content 评论内容
  4. * addtime 评论时间
  5. * uid 评论作品
  6. */
  7. public function padd(){
  8. $param=input('param.');
  9. $param['pid']=session('tid');
  10. if(empty($param['uid'])){
  11. return json(['code'=>2,'message'=>'uid不能为空']);
  12. }
  13. $data=db('comments')->insertGetId(['uid'=>$param['uid'],'content'=>$param['content'],'addtime'=>$param['addtime'],'pid'=>$param['pid']]);
  14. if($data){
  15. return json(['code'=>1,'message'=>'评论成功']);
  16. }else{
  17. return json(['code'=>2,'message'=>'评论失败']);
  18. }
  19. }
  20. /**
  21. * 评论展示
  22. * uid comments表
  23. * page 页数
  24. * num 条数
  25. */
  26. public function comment(){
  27. $param=input('param.');
  28. $param['pid']=session('tid');//用户id
  29. if(empty($param['page'])){
  30. $param['page']=1;
  31. }
  32. if(empty($param['num'])){
  33. $param['num']=5;
  34. }
  35. if(empty($param['uid'])){
  36. return json(['code'=>2,'message'=>'uid不能为空']);
  37. }
  38. $data=db('comments')->where('uid',$param['uid'])->page($param['page'],$param['num'])->select();
  39. $commentslike=db('commentslike');
  40. $people=db('people');
  41. foreach ($data as $k=>$value) {
  42. //查看评论点赞表的状态
  43. $state=$commentslike->where(['pid'=>$param['pid'],'uid'=>$param['uid'],'cid'=>$value['data']])->value('state');
  44. if(empty($state)){
  45. $state = '还未点赞';
  46. }
  47. $data[$k]['state']=$state;
  48. //获取评论人的手机号
  49. $people=$people->where('id',$value['pid'])->value('tel');
  50. $data[$k]['tel']=$people;
  51. //把二级评论添加到数组数据中
  52. if($value['rpid'] !== 0){
  53. // $r_pid = $commentslike->where(['id'=>$value['rpid']])->value('pid');
  54. $r_tel = $people->where('id',$value['rpid'])->value('tel');
  55. $data[$k]['r_tel'] = $r_tel;
  56. }else{
  57. $data[$k]['r_tel'] = '';
  58. }
  59. }
  60. return json(['code'=>1,'data'=>$data]);
  61. }
  62. /**
  63. * 评论点赞
  64. * uid 作品id
  65. */
  66. public function commentslike(){
  67. $param=input('param.');
  68. $param['pid']=session::get('tid');
  69. if(empty($param['uid'])){
  70. return json(['code'=>2,'message'=>'uid不能为空']);
  71. }
  72. //判断该作品有没有评论
  73. $comments=db('comments')->where('uid',$param['uid'])->select();
  74. if(!empty($comments)){
  75. //判断他有没有点赞
  76. $data=db('commentslike')->where(['uid'=>$param['uid'],'pid'=>$param['pid'],'cid'=>$comments['id']])->find();
  77. if(empty($data)){
  78. $like=db('commentslike')->insertGetId(['uid'=>$param['uid'],'pid'=>$param['pid'],'cid'=>$comments['id'],$param['state']=>'点赞']);
  79. if($like){
  80. return json(['code'=>1,'message'=>'点赞成功']);
  81. }else{
  82. return json(['code'=>1,'message'=>'点赞失败']);
  83. }
  84. }else{
  85. if($data['state']=='取消点赞'){
  86. $like=db('commentslike')->where(['uid'=>$param['uid'],'pid'=>$param['pid'],'cid'=>$comments['id']])->update([$param['state']=>'点赞']);
  87. }elseif($data['state']=='点赞'){
  88. $like=db('commentslike')->where(['uid'=>$param['uid'],'pid'=>$param['pid'],'cid'=>$comments['id']])->update([$param['state']=>'取消点赞']);
  89. }
  90. }
  91. }else{
  92. return json(['code'=>2,'message'=>'此作品还未评论']);
  93. }
  94. }
  95. /**
  96. * 回复评论
  97. * uid 作品id
  98. * content 回复内容
  99. * cid 这条评论的id
  100. * uid 作品id pid 评论人id
  101. */
  102. public function reply(){
  103. $param['pid'] = session('tid');
  104. $param = input('param.');
  105. //被评论的id $param['cid']
  106. $data = db('comments')->where(['id'=>$param['rid']])->find();
  107. if($data['rid'] !== 0){
  108. $param['rid'] = $data['rid'];//被回复人的pid.
  109. }
  110. $param['rid'] = $data['id'];//被回复人的pid.
  111. $param['rpid'] = $data['pid'];
  112. //评论内容 $param['content']
  113. //作品id $param['uid']
  114. $param['addtime'] = date('Y-m-d H:i:s');
  115. $id = db('comments')->insertGetId(['uid'=>$param['uid'],'content'=>$param['content'],'addtime'=>$param['addtime'],'pid'=>$param['pid'],'rid'=>$param['rid']]);
  116. if($id){
  117. return json(['code'=>1,'messgae'=>'回复成功']);
  118. }else{
  119. return json(['code'=>2,'message'=>'回复失败']);
  120. }
  121. }
  122. /**
  123. * 查看二级评论
  124. * uid 作品id
  125. * rid 这条评论的id
  126. */
  127. public function GetRCommtens($value='')
  128. {
  129. $data = db('comments')->where(['rid'=>$param['rid']])->select();
  130. }

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

相关推荐:

PHP使用Azure Storage Blob上传文件

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

以上就是PHP后台评论的实现的详细内容,更多请关注Gxl网其它相关文章!

人气教程排行