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后台评论 接口的更多相关文章
- 使用Asp.net WebAPI 快速构建后台数据接口
现在的互联网应用,无论是web应用,还是移动APP,基本都需要实现非常多的数据访问接口.其实对一些轻应用来说Asp.net WebAPI是一个很快捷简单并且易于维护的后台数据接口框架.下面我们来快速构 ...
- QQ18年,解密8亿月活的QQ后台服务接口隔离技术
作者:shane,腾讯后台开发高级工程师 QQ18年 1999年2月10日,腾讯QQ横空出世.光阴荏苒,那个在你屏幕右下角频频闪动的企鹅已经度过了18个年头.随着QQ一同成长的你,还记得它最初的摸样吗 ...
- 解决Ajax请求后台Servlet接口拿不到JSON数据问题
前端Ajax请求代码如下: window.onload=function() { var url='http://127.0.0.1:8080/testpj/ErrorlogServlet'; $.a ...
- 在vue-cli搭建的项目中在后台mock接口中支持req.body和req.cookies
在<vue-cli搭建的项目中增加后台mock接口>中实现了后台mock,但是前端post的t数据都要在mock的后台接口中使用req的接收数据事件获取http协议body中的数据. re ...
- WordPress 后台评论如何自定义搜索条件
大家都知道WordPress 作为一个非常成熟的博客系统,功能可以说是非常强大,几乎整个网站都可以进行定制开发,已经不算是一个博客系统了而应该是一个成熟的开发框架 最近就用WP给客户开发了一个网站,但 ...
- c#后台访问接口
直接上代码 后台代码 //接口地址string url = "http://spherefg.topsmoon.com:6666/restapi/Comment/SubmitCommentF ...
- 年轻人不讲武德,竟然重构出这么优雅后台 API 接口
Hello,早上好,我是楼下小黑哥~ 最近偶然间在看到 Spring 官方文档的时候,新学到一个注解 @ControllerAdvice,并且成功使用这个注解重构我们项目的对外 API 接口,去除繁琐 ...
- 电商管理后台 API 接口文档
1. 电商管理后台 API 接口文档 1.1. API V1 接口说明 接口基准地址:http://127.0.0.1:8888/api/private/v1/ 服务端已开启 CORS 跨域支持 AP ...
- Mock模拟后台数据接口--再也不用等后端的API啦
ok,在开发中经常需要从后台获取数据,那么有时候后台的数据接口并没有写好,所以这时候,就需要自己模拟数据接口,来实现前端逻辑, 今天数的就是阿里巴巴的一款mock产品,很好用的哦!!!! ok!这是我 ...
随机推荐
- BZOJ4033或洛谷3177 [HAOI2015]树上染色
BZOJ原题链接 洛谷原题链接 很明显的树形\(DP\). 因为记录每个点的贡献很难,所以我们可以统计每条边的贡献. 对于每一条边,设边一侧的黑点有\(B_x\)个,白点有\(W_x\),另一侧黑点有 ...
- 全局组建封装(挂载到vue实例的原型中,通过this访问)
主题:组建的封装 一:install注册的全局封装(v-grid九宫格组建) 1.九宫格的封装主要有三个api 点击功能 每行个数 是否隐藏边框 ...
- mysql错误日志
cat /etc/my.cnf
- 事务 TRANSACTION
事务是数据库中一个但单独的执行单元(Unit),他通常由高级数据库操作语言(如SQL)或编程语言(如C++.Java)编写的用户程序的执行所引起.当在数据库中更改数据成功时,在事务中更改的数据便会提交 ...
- Python之路番外(第三篇):Pycharm的使用秘籍
版本:Pycharm2017.3.4Professional Edition 一.Pycharm的基本使用1.在Pycharm下为你的python项目配置python解释器 file --settin ...
- netsharp.weixin和sdk的配置信息管理
一.微信公众号后台配置 即在微信公众号后台配置类似如下的url:http://121.40.86.55/wx?oid=gh_befcc6d4c40d 这种情况下会执行WeixinServlet类的do ...
- HTML 学习杂记
代码范例 <?php function testFunc1 () { echo 'testFunc1'; } $b = ; ?> <!DOCTYPE html PUBLIC &quo ...
- Mac版Java安装与配置
一.下载并安装JDK http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 双击下载的 ...
- 使用kbmmw smart service 属性时的一个注意事项
kbmmw 5.0 以后支持smart service, 这个用起来非常方便,kbmmw 通过 定制属性来简化编程,可以参考我以前的文章.但是这个意味着使用单元引用一定要小心, 否则出了问题,都不知道 ...
- IDEA的GUI连接数据库写入SQL语句的问题总结
一.首先是建立游标的对象statement 插入数据excuteUpdate需要的是一个整型的参数,所以建立的对象要是一个int型的数据类型,才可以执行SQL语句excuteQuery是一个字符类型在 ...