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 相关文章推荐
Search Engine Friendly的URL设计
Oct 09 PHP
PHP ? EasyUI DataGrid 资料存的方式介绍
Nov 07 PHP
spl_autoload_register与autoload的区别详解
Jun 03 PHP
使用PHP实现蜘蛛访问日志统计
Jul 05 PHP
php实现插入数组但不影响原有顺序的方法
Mar 27 PHP
PHP实现原生态图片上传封装类方法
Nov 08 PHP
PHP实现登陆表单提交CSRF及验证码
Jan 24 PHP
php 静态属性和静态方法区别详解
Apr 09 PHP
PHP实现数据库统计时间戳按天分组输出数据的方法
Oct 10 PHP
phpStudy2016 配置多个域名期间遇到的问题小结
Oct 19 PHP
laravel 框架实现无限级分类的方法示例
Oct 31 PHP
php设计模式之正面模式实例分析【星际争霸游戏案例】
Mar 24 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简单判断手机设备的方法
2016/08/23 PHP
PHP版微信小店接口开发实例
2016/11/12 PHP
详解php中生成标准uuid(guid)的方法
2019/04/28 PHP
支持ie与FireFox的剪切板操作代码
2009/09/28 Javascript
jQuery-onload让第一次页面加载时图片是淡入方式显示
2012/05/23 Javascript
jquery+ajax验证不通过也提交表单问题处理
2014/12/12 Javascript
Jquery 分页插件之Jquery Pagination
2015/08/25 Javascript
AngularJS 与Bootstrap实现表格分页实例代码
2016/10/14 Javascript
Bootstrap框架的学习教程详解(二)
2016/10/18 Javascript
JS实现小球的弹性碰撞效果
2017/11/11 Javascript
使用D3.js创建物流地图的示例代码
2018/01/27 Javascript
js实现百度登录窗口拖拽效果
2020/03/19 Javascript
浅谈JS for循环中使用break和continue的区别
2020/07/21 Javascript
Vue 禁用浏览器的前进后退操作
2020/09/04 Javascript
Python使用PyCrypto实现AES加密功能示例
2017/05/22 Python
python模块之sys模块和序列化模块(实例讲解)
2017/09/13 Python
Python3网络爬虫之使用User Agent和代理IP隐藏身份
2017/11/23 Python
Python读取Excel表格,并同时画折线图和柱状图的方法
2018/10/14 Python
python实现感知机线性分类模型示例代码
2019/06/02 Python
PyCharm 在Windows的有用快捷键详解
2020/04/07 Python
详解python logging日志传输
2020/07/01 Python
Django限制API访问频率常用方法解析
2020/10/12 Python
python 实现图片裁剪小工具
2021/02/02 Python
python如何修改文件时间属性
2021/02/05 Python
美国在线纱线商店:Darn Good Yarn
2019/03/20 全球购物
分解成质因数(如435234=251*17*17*3*2,据说是华为笔试题)
2014/07/16 面试题
.NET现在共支持多少种语言
2014/02/26 面试题
大学生专科毕业生自我评价
2013/11/17 职场文书
校园文化艺术节宣传标语
2014/10/09 职场文书
违反单位工作制度检讨书
2014/10/25 职场文书
2015年幼儿园学期工作总结
2015/05/22 职场文书
2015年机关党建工作总结
2015/05/22 职场文书
2016春季运动会开幕词
2016/03/04 职场文书
股东出资协议书
2016/03/21 职场文书
Java数组详细介绍及相关工具类
2022/04/14 Java/Android
python开发人人对战的五子棋小游戏
2022/05/02 Python