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 相关文章推荐
收藏的PHP常用函数 推荐收藏保存
Feb 21 PHP
探讨如何把session存入数据库
Jun 07 PHP
调整PHP的性能
Oct 30 PHP
PHP中使用数组指针函数操作数组示例
Nov 19 PHP
php列出mysql表所有行和列的方法
Mar 13 PHP
php去除头尾空格的2种方法
Mar 16 PHP
php+ajax无刷新分页实例详解
Dec 07 PHP
PHP5.5迭代生成器用法实例详解
Mar 16 PHP
thinkPHP自动验证、自动添加及表单错误问题分析
Oct 17 PHP
PHP最常用的正则表达式
Feb 13 PHP
PHP回调函数简单用法示例
May 08 PHP
PHP如何通过带尾指针的链表实现'队列'
Oct 22 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
通过文字传递创建的图形按钮
2006/10/09 PHP
常见的PHP五种设计模式小结
2011/03/23 PHP
CI框架源码解读之利用Hook.php文件完成功能扩展的方法
2016/05/18 PHP
php基于curl实现随机ip地址抓取内容的方法
2016/10/11 PHP
javascript Base类 包含基本的方法
2009/07/22 Javascript
JavaScript 继承详解 第一篇
2009/08/30 Javascript
javascript下arguments,caller,callee,call,apply示例及理解
2009/12/24 Javascript
对xmlHttp对象方法和属性的理解
2011/01/17 Javascript
jQuery Tools tooltip使用说明
2012/07/14 Javascript
巧用jquery解决下拉菜单被Div遮挡的相关问题
2014/02/13 Javascript
jQuery级联操作绑定事件实例
2014/09/02 Javascript
浅谈Nodejs应用主文件index.js
2016/08/28 NodeJs
Angular.JS内置服务$http对数据库的增删改使用教程
2017/05/07 Javascript
JS实现匀加速与匀减速运动的方法示例
2017/09/04 Javascript
Angular2整合其他插件的方法
2018/01/20 Javascript
浅谈Angular7 项目开发总结
2018/12/19 Javascript
JavaScript语法约定和程序调试原理解析
2020/11/03 Javascript
[01:20]辉夜杯背景故事宣传片《辉夜传说》
2015/12/25 DOTA
[53:03]Optic vs TNC 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
基于Django filter中用contains和icontains的区别(详解)
2017/12/12 Python
Python实现的文本对比报告生成工具示例
2018/05/22 Python
python 生成图形验证码的方法示例
2018/11/11 Python
pytorch构建多模型实例
2020/01/15 Python
使用Keras训练好的.h5模型来测试一个实例
2020/07/06 Python
详解pyqt5的UI中嵌入matplotlib图形并实时刷新(挖坑和填坑)
2020/08/07 Python
全面解析CSS Media媒体查询使用操作(推荐)
2017/08/15 HTML / CSS
应届毕业生个人自我评价
2013/09/20 职场文书
小学生班会演讲稿
2014/01/09 职场文书
委托书模板
2014/04/04 职场文书
安全协议书
2014/04/23 职场文书
信息与工商管理职业规划范文:为梦想而搏击
2014/09/11 职场文书
普通党员自我剖析材料
2014/10/07 职场文书
教师节寄语2015
2015/03/23 职场文书
办公室禁烟通知
2015/04/23 职场文书
详解CSS不受控制的position fixed
2021/05/25 HTML / CSS
Python标准库pathlib操作目录和文件
2021/11/20 Python