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 相关文章推荐
加强版phplib的DB类
Mar 31 PHP
url decode problem 解决方法
Dec 26 PHP
用来解析.htpasswd文件的PHP类
Sep 05 PHP
Eclipse中php插件安装及Xdebug配置的使用详解
Apr 25 PHP
修改php.ini以达到屏蔽错误信息并记录日志
Jun 16 PHP
详谈PHP编码转换问题
Jul 28 PHP
通过PHP简单实例介绍文件上传
Dec 16 PHP
PHP实现的浏览器检查类
Apr 11 PHP
php连接微软MSSQL(sql server)完全攻略
Nov 27 PHP
PHP 断点续传实例详解
Nov 11 PHP
php apache开启跨域模式过程详解
Jul 08 PHP
Laravel 6 将新增为指定队列任务设置中间件的功能
Aug 06 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读取富文本的时p标签会出现红线是怎么回事
2014/05/13 PHP
php实现图片局部打马赛克的方法
2015/02/11 PHP
php备份数据库类分享
2015/04/14 PHP
php身份证号码检查类实例
2015/06/18 PHP
php使用APC实现实时上传进度条功能
2015/10/26 PHP
开启PHP的伪静态模式
2015/12/31 PHP
PHP类相关知识点实例总结
2016/09/28 PHP
PHP时间戳和日期相互转换操作实例小结
2018/12/18 PHP
PHP FileSystem 文件系统常用api整理总结
2019/07/12 PHP
使用JavaScript刷新网页的方法
2015/06/04 Javascript
JavaScript中Date.toSource()方法的使用教程
2015/06/12 Javascript
WEB 前端开发中防治重复提交的实现方法
2016/10/26 Javascript
vue.js初学入门教程(1)
2016/11/03 Javascript
javascript中call,apply,bind函数用法示例
2016/12/19 Javascript
react-native 完整实现登录功能的示例代码
2017/09/11 Javascript
js实现控制文件拖拽并获取拖拽内容功能
2018/02/17 Javascript
实现elementUI表单的全局验证的方法步骤
2019/04/29 Javascript
vscode vue 文件模板的配置方法
2019/07/23 Javascript
ElementUI多个子组件表单的校验管理实现
2019/11/07 Javascript
[43:32]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS NewBee第一场
2014/05/26 DOTA
疯狂上涨的Python 开发者应从2.x还是3.x着手?
2017/11/16 Python
python opencv 直方图反向投影的方法
2018/02/24 Python
Python 使用PyQt5 完成选择文件或目录的对话框方法
2019/06/27 Python
python实现发送form-data数据的方法详解
2019/09/27 Python
使用python批量修改XML文件中图像的depth值
2020/07/22 Python
通俗讲解python 装饰器
2020/09/07 Python
CSS3实现渐变背景兼容问题
2020/05/06 HTML / CSS
英国在线自行车商店:Evans Cycles
2016/09/26 全球购物
孤独星球出版物:Lonely Planet Publications
2018/03/17 全球购物
会计出纳岗位职责
2013/12/25 职场文书
租房协议书范文
2014/08/20 职场文书
先进事迹演讲稿
2014/09/01 职场文书
离婚被告答辩状
2015/05/22 职场文书
春节慰问简报
2015/07/21 职场文书
漫画「你在春天醒来」第10卷封面公开
2022/03/21 日漫
Python循环之while无限迭代
2022/04/30 Python