概述:给ThinkPHP6做的网站的文章页添加点赞功能
实现:
1、数据库article表添加article_digg字段,类型为INT
2、前台页面添加
<!-- 文章页显示点赞数量 -->
<div class="col-sm-3 text-center">点赞:<span id="diggNum">{$art.art_digg}次</span></div>
<!-- 点赞事件 -->
<button type="button" class="btn btn-outline-success" id="digg">赞</button>
<script type="text/javascript">
var i = true;//首次点击计数,再次点击不计数,但刷新后仍可计数
$('#digg').click(function(){
if(i){
var article_id = {$article.id};//ThinkPHP中通过{$article.id}获取文章id
$.ajax({
type:"post",//post传输方式
url:"https://www.pcxpcx.com/digg",//传入控制器的digg操作方法
data:"article_id="+article_id,//传入数据
cache:false,//不缓存
success:function(data){
$('#digg').text("已赞");//修改button中的“赞”为“已赞”
$("#digg").attr('disabled',true);//修改按钮为不可用
$('#diggNum').text(data);//修改点赞数量为最新数量
}
});
i=false;
}
});
</script>
3、后台创建digg操作方法
public function digg(){
$article_id = Request::param('article_id');
$digg_update = Db::name('article')->where('article_id','=',$article_id)->inc('article_digg')->update();
$diggNum = Db::name('article')->field('article_digg')->where('article_id','=',$article_id)->find();
return $diggNum['article_digg'];
}
原创不易,转载请保留本站版权。