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速度全攻略
Oct 09 PHP
15种PHP Encoder的比较
Mar 06 PHP
奇怪的PHP引用效率问题分析
Mar 23 PHP
利用PHP扩展vld查看PHP opcode操作步骤
Mar 04 PHP
解决FastCGI 进程超过了配置的活动超时时限的问题
Jul 03 PHP
PHP图片裁剪函数(保持图像不变形)
May 04 PHP
ThinkPHP 404页面的设置方法
Jan 14 PHP
php数组分页实现方法
Apr 30 PHP
thinkphp3.x中变量的获取和过滤方法详解
May 20 PHP
Yii2验证器(Validator)用法分析
Jul 23 PHP
简单解决微信文章图片防盗链问题
Dec 17 PHP
ThinkPHP5.1验证码功能实现的示例代码
Jun 08 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生成静态HTML文档实现代码
2016/06/23 PHP
javascript firefox兼容ie的dom方法脚本
2008/05/18 Javascript
javascript 兼容FF的onmouseenter和onmouseleave的代码
2008/07/19 Javascript
javascript innerHTML使用分析
2010/12/03 Javascript
jquery验证手机号码、邮箱格式是否正确示例代码
2013/07/28 Javascript
js操作输入框提示信息且响应鼠标事件
2014/03/25 Javascript
jQuery实现美观的多级动画效果菜单代码
2015/09/06 Javascript
js强制把网址设为默认首页
2015/09/29 Javascript
4种JavaScript实现简单tab选项卡切换的方法
2016/01/06 Javascript
创建简单的node服务器实例(分享)
2017/06/23 Javascript
ionic选择多张图片上传的示例代码
2017/10/10 Javascript
Vue-cli 使用json server在本地模拟请求数据的示例代码
2017/11/02 Javascript
详解Vue中使用插槽(slot)、聚类插槽
2019/04/12 Javascript
vue+element加入签名效果(移动端可用)
2019/06/17 Javascript
vue中created和mounted的区别浅析
2019/08/13 Javascript
JavaScript基础之this和箭头函数详析
2019/09/05 Javascript
Js实现复选框的全选、全不选反选功能代码实例
2020/02/28 Javascript
[01:00:53]2018DOTA2亚洲邀请赛3月29日 小组赛B组 iG VS Secret
2018/03/30 DOTA
Python中标准模块importlib详解
2017/04/16 Python
Python金融数据可视化汇总
2017/11/17 Python
实例讲解Python3中abs()函数
2019/02/19 Python
python隐藏终端执行cmd命令的方法
2019/06/24 Python
基于python实现简单网页服务器代码实例
2020/09/14 Python
html5 迷宫游戏(碰撞检测)实例一
2013/07/25 HTML / CSS
Boden英国官网:英国知名原创时装品牌
2018/11/06 全球购物
卡拉威高尔夫官方网站:Callaway Golf
2020/09/16 全球购物
好的演讲稿开场白
2013/12/30 职场文书
改革共识倡议书
2014/08/29 职场文书
奥巴马经典演讲稿
2014/09/13 职场文书
2014年村支部书记四风对照检查材料思想汇报
2014/10/02 职场文书
机关干部四风问题自我剖析及整改措施
2014/10/26 职场文书
增值税发票丢失证明
2015/06/19 职场文书
2016大学生社会实践单位评语
2015/12/01 职场文书
2016国培学习心得体会
2016/01/08 职场文书
Python3 多线程(连接池)操作MySQL插入数据
2021/06/09 Python
HTML中的表格元素介绍
2022/02/28 HTML / CSS