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中利用wsdl创建标准webservice的实现代码
Dec 07 PHP
关于php操作mysql执行数据库查询的一些常用操作汇总
Jun 24 PHP
PHP魔术引号所带来的安全问题分析
Jul 15 PHP
php过滤html标记属性类用法实例
Sep 23 PHP
php模仿asp Application对象在线人数统计实现方法
Jan 04 PHP
php进行ip地址掩码运算处理的方法
Jul 11 PHP
Yii使用DeleteAll连表删除出现报错问题的解决方法
Jul 14 PHP
PHPCMS2008广告模板SQL注入漏洞修复
Oct 11 PHP
php compact 通过变量创建数组
Nov 15 PHP
详解php中serialize()和unserialize()函数
Jul 08 PHP
PHP7内核CGI与FastCGI详解
Apr 14 PHP
基于laravel where的高级使用方法
Oct 10 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
解决了Ajax、MySQL 和 Zend Framework 的乱码问题
2009/03/03 PHP
PHP校验ISBN码的函数代码
2011/01/17 PHP
PHP使用Alexa API获取网站的Alexa排名例子
2014/06/12 PHP
PHP之autoload运行机制实例分析
2014/08/28 PHP
浅谈thinkphp的实例化模型
2015/01/04 PHP
smarty模板引擎之分配数据类型
2015/03/30 PHP
PHP错误处理函数
2016/04/03 PHP
php使用file函数、fseek函数读取大文件效率对比分析
2016/11/04 PHP
JavaScript 判断指定字符串是否为有效数字
2010/05/11 Javascript
Jquery实现仿新浪微博获取文本框能输入的字数代码
2013/02/22 Javascript
JS+CSS制作DIV层可(最小化/拖拽/排序)功能实现代码
2013/02/25 Javascript
JavaScript中的连字符详解
2013/11/28 Javascript
微信小程序(应用号)简单实例应用及实例详解
2016/09/26 Javascript
vue.js从安装到搭建过程详解
2017/03/17 Javascript
JavaScript实现树的遍历算法示例【广度优先与深度优先】
2017/10/26 Javascript
webpack-dev-server自动更新页面方法
2018/02/22 Javascript
vue的keep-alive中使用EventBus的方法
2019/04/23 Javascript
Vue的编码技巧与规范使用详解
2019/08/28 Javascript
vscode+gulp轻松开发小程序的完整步骤
2020/10/18 Javascript
[05:53]敌法师的金色冠名ID"BurNIng",是传说,是荣耀
2020/07/11 DOTA
Python中利用原始套接字进行网络编程的示例
2015/05/04 Python
python引入导入自定义模块和外部文件的实例
2017/07/24 Python
关于python写入文件自动换行的问题
2018/06/23 Python
Python Sympy计算梯度、散度和旋度的实例
2019/12/06 Python
Python ConfigParser模块的使用示例
2020/10/12 Python
python录音并调用百度语音识别接口的示例
2020/12/01 Python
绢花、人造花和人造花卉:BLOOM
2019/08/07 全球购物
网络编辑岗位职责范本
2014/02/10 职场文书
开业庆典策划方案
2014/02/18 职场文书
党委班子对照检查材料
2014/08/19 职场文书
园艺专业毕业生求职信
2014/09/02 职场文书
帝企鹅日记观后感
2015/06/10 职场文书
运动会通讯稿50字
2015/07/20 职场文书
文明上网主题班会
2015/08/14 职场文书
德劲DE1107指针试高灵敏度全波段收音机机评
2022/04/05 无线电