ThinkPHP6文章页添加点赞功能
作者:韩明剑
时间:2021-04-21
浏览:58
点赞:0

概述:给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'];
}

原创不易,转载请保留本站版权。