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 相关文章推荐
vBulletin Forum 2.3.xx SQL Injection
Oct 09 PHP
支持数组的ADDSLASHES的php函数
Feb 16 PHP
rephactor 优秀的PHP的重构工具
Jun 09 PHP
浅析php学习的路线图
Jul 10 PHP
php过滤html标记属性类用法实例
Sep 23 PHP
带你了解PHP7 性能翻倍的关键
Nov 19 PHP
Linux安装配置php环境的方法
Jan 14 PHP
用HTML/JS/PHP方式实现页面延时跳转的简单实例
Jul 18 PHP
PHPCMS手机站伪静态设置详细教程
Feb 06 PHP
PHP数组内存利用率低和弱类型详细解读
Aug 10 PHP
thinkPHP框架实现多表查询的方法
Jun 14 PHP
PHP7新增函数
Mar 09 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绘图之加载外部图片的方法
2015/01/24 PHP
PHP实现自动发送邮件功能代码(qq 邮箱)
2017/08/18 PHP
PHP文件管理之实现网盘及压缩包的功能操作
2017/09/20 PHP
JavaScript 通过模式匹配实现重载
2010/08/12 Javascript
基于JQuery的日期联动实现代码
2011/02/24 Javascript
javascript返回顶部效果(自写代码)
2013/01/06 Javascript
Javascript实现关联数据(Linked Data)查询及注意细节
2013/02/22 Javascript
ajax分页效果(bootstrap模态框)
2017/01/23 Javascript
AngularJS读取JSON及XML文件的方法示例
2017/05/25 Javascript
基于JS实现移动端左滑删除功能
2017/07/28 Javascript
node使用Koa2搭建web项目的方法
2017/10/17 Javascript
JavaScript设计模式之原型模式分析【ES5与ES6】
2018/07/26 Javascript
angular的输入和输出的使用方法
2018/09/22 Javascript
angularJs中ng-model-options设置数据同步的方法
2018/09/30 Javascript
JavaScript学习笔记之图片库案例分析
2019/01/08 Javascript
vue2.0结合Element-ui实战案例
2019/03/06 Javascript
node中使用es6/7/8(支持性与性能)
2019/03/28 Javascript
Python天气预报采集器实现代码(网页爬虫)
2012/10/07 Python
python enumerate函数的使用方法总结
2017/11/15 Python
TensorFlow深度学习之卷积神经网络CNN
2018/03/09 Python
Python使用OpenCV进行标定
2018/05/08 Python
python绘制直线的方法
2018/06/30 Python
Python利用神经网络解决非线性回归问题实例详解
2019/07/19 Python
如何使用django的MTV开发模式返回一个网页
2019/07/22 Python
python爬虫 模拟登录人人网过程解析
2019/07/31 Python
Django用户认证系统 组与权限解析
2019/08/02 Python
Python高阶函数与装饰器函数的深入讲解
2020/11/10 Python
HTML5 Web缓存和运用程序缓存(cookie,session)
2018/01/11 HTML / CSS
英国排名第一的LED灯泡网站:LED Bulbs
2019/09/03 全球购物
乌克兰鞋类购物网站:Eobuv.com.ua
2020/11/28 全球购物
工作会议欢迎词
2014/01/16 职场文书
优秀教师的感人事迹
2014/02/04 职场文书
主管会计岗位责任制
2014/02/10 职场文书
《凡卡》教学反思
2014/04/09 职场文书
整改落实情况汇报材料
2014/10/29 职场文书
美丽人生观后感
2015/06/03 职场文书