php+js实现点赞功能的示例详解


Posted in PHP onAugust 07, 2020

最近在做一个视频网站,需要实现视频的点赞功能,我是结合ajax和数据库实现的,数据库的格式为有四个字段:文章id,赞,踩,ip。因为需要一个ip只能点赞一次,所以需要一个ip字段存储点赞的ip,这样便于判断该ip是否已经点赞过了;

我将点赞和踩的图片做成两个按钮;具体代码如下:

<button style="margin-left:4px" id="vote" rel="<?php echo 文章id;?>">
<img src="点赞图片路径" alt="赞">
<span style="position:absolute;margin-top:6px;margin-left:2px;font-size:20px">
<span style="position:absolute;margin-top:-2px;margin-left:6px;font-size:20px">
<?php if(!$vnum){echo 0;}else{ echo 点赞次数;} ?>
</span>
</button>
<button style="margin-left:38px;margin-top:1px;position:absolute" id="dvote" rel="<?php echo 文章id;?>">
<img src="踩图片路径" alt="踩" >
<span style="position:absolute;margin-top:2px;margin-left:6px;font-size:20px">
<?php if(!$dnum){echo 0;}else{ echo 踩次数;} ?>
</span>
</button>

js程序

<script type="text/javascript">
$(function(){
var id=$("#vote").attr('rel');//获取到文章id;
$("#vote").click(function(){
$.get("传到哪个页面?id="+id,function(r){
alert(r);
window.location.reload();//点赞成功后刷新页面更新新的点赞次数
})
})

$("#dvote").click(function(){
$.get("/news/dvote?id="+id,function(r){
alert(r);
window.location.reload();
})
})
})

</script>

我是用ci框架写,所以在news.php下面的vote方法和dvote方法代表的是赞和踩,具体代码如下

public function vote(){
$id=$_GET['id'];
$ip=getIP();
$getdata=$this->data_model;
$data=$getdata->get_vote_ip($id,$ip);
$msg="";
if(empty($data['ip']) || !$data['ip']){
$data=array('nid'=>$id,'vote'=>1,'ip'=>$ip);
$re=$getdata->insert_vote($data);
$msg.="点赞成功";
}else{
$msg.="一个ip只能操作一次";
}
echo $msg;
}

public function dvote(){
$id=$_GET['id'];
$ip=getIP();
$getdata=$this->data_model;
$data=$getdata->get_vote_ip($id,$ip);

//get_vote_ip($id,$ip),是在模型里面的查询该ip是否已经点赞过,具体代码 如下

//public function get_vote_ip($id,$ip){

// $query=$this->db->query("select * from 表名 where nid='{$id}' and ip='{$ip}'");
// $data=$query->result_array()[0];

// return $data;
// }


$msg="";
if(empty($data['ip']) || !$data['ip']){
$data=array('nid'=>$id,'dvote'=>0,'ip'=>$ip);
$re=$getdata->insert_vote($data);
$msg.="踩成功";
}else{
$msg.="一个ip只能操作一次";
}
echo $msg;
}

点赞可以实现以后,就是需要将点赞数据进行更新,首先需要在数据库查询该篇文章所以的点赞信息

//获取点赞信息
public function get_vote($id){
$query=$this->db->query("select * from tx_vote where nid='{$id}'");
$data=$query->result_array();
return $data;
}

获取信息返回到 控制器里面将赞和踩的信息循环分别存入到数据库中然后分别计算新的数组长度就可以获取赞和踩的次数了,这样的再html页面输出就可以了

到此这篇关于php+js实现点赞功能的示例的文章就介绍到这了,更多相关php+js实现点赞功能内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

PHP 相关文章推荐
利用discuz自带通行证整合dedecms的方法以及文件下载
Mar 06 PHP
超小PHP小马小结(方便查找后门的朋友)
May 05 PHP
浅析Yii中使用RBAC的完全指南(用户角色权限控制)
Jun 20 PHP
PHP实现的简单日历类
Nov 29 PHP
thinkphp实现发送邮件密码找回功能实例
Dec 01 PHP
php从给定url获取文件扩展名的方法
Mar 14 PHP
Laravel使用Caching缓存数据减轻数据库查询压力的方法
Mar 15 PHP
PHP中CheckBox多选框上传失败的代码写法
Feb 13 PHP
PHP反射机制原理与用法详解
Feb 15 PHP
PHP SFTP实现上传下载功能
Jul 26 PHP
PHP魔术方法之__call与__callStatic使用方法
Jul 23 PHP
原生PHP实现导出csv格式Excel文件的方法示例【附源码下载】
Mar 07 PHP
PHP基于phpqrcode类生成二维码的方法示例详解
Aug 07 #PHP
php模拟post提交请求调用接口示例解析
Aug 07 #PHP
基于PHP+mysql实现新闻发布系统的开发
Aug 06 #PHP
基于PHP+Mysql简单实现了图书购物车系统的实例详解
Aug 06 #PHP
基于PHP的登录和注册的功能的实现
Aug 06 #PHP
php中try catch捕获异常实例详解
Aug 06 #PHP
PHP日期和时间函数的使用示例详解
Aug 06 #PHP
You might like
PHP 冒泡排序 二分查找 顺序查找 二维数组排序算法函数的详解
2013/06/25 PHP
php判断正常访问和外部访问的示例
2014/02/10 PHP
destoon之一键登录设置
2014/06/21 PHP
再谈PHP中单双引号的区别详解
2016/06/12 PHP
PHP匿名函数(闭包函数)详解
2019/03/22 PHP
$.format,jquery.format 使用说明
2011/07/13 Javascript
jquery $.fn $.fx是什么意思有什么用
2013/11/04 Javascript
jQuery$命名冲突怎么办如何解决
2014/01/16 Javascript
js的参数有长度限制吗?发现不能超过2083个字符
2014/04/20 Javascript
JQuery显示隐藏页面元素的方法总结
2015/04/16 Javascript
基于百度地图实现产品销售的单位位置查看功能设计与实现
2016/10/21 Javascript
js 递归和定时器的实例解析
2017/02/03 Javascript
JS跨域请求外部服务器的资源
2017/02/06 Javascript
JavaScript Uploadify文件上传实例
2017/02/28 Javascript
jQuery序列化后的表单值转换成Json
2017/06/16 jQuery
日期时间范围选择插件:daterangepicker使用总结(必看篇)
2017/09/14 Javascript
微信小程序request请求后台接口php的实例详解
2017/09/20 Javascript
跨域请求两种方法 jsonp和cors的实现
2018/11/11 Javascript
微信小程序以ssm做后台开发的实现示例
2020/04/08 Javascript
Python中实现的RC4算法
2015/02/14 Python
python实现逆波兰计算表达式实例详解
2015/05/06 Python
python实现在字符串中查找子字符串的方法
2015/07/11 Python
python3.6使用tkinter实现弹跳小球游戏
2019/05/09 Python
flask 实现token机制的示例代码
2019/11/07 Python
python 绘制国旗的示例
2020/09/27 Python
详解Python中的Lock和Rlock
2021/01/26 Python
一款css实现的鼠标经过按钮的特效
2014/09/11 HTML / CSS
CSS3实现渐变背景兼容问题
2020/05/06 HTML / CSS
详解px单位html5响应式方案
2018/03/08 HTML / CSS
北京RT科技有限公司.net工程师面试题
2013/02/15 面试题
深圳茁壮笔试题
2015/05/28 面试题
应届毕业生应聘自荐信
2013/12/07 职场文书
迎新春趣味活动方案
2014/08/24 职场文书
无财产离婚协议书范本
2014/10/28 职场文书
导游词之铁岭象牙山
2019/12/06 职场文书
Python OpenCV超详细讲解基本功能
2022/04/02 Python