php + js怎么实现点赞功能

  介绍

小编给大家分享一下php + js怎么实现点赞功能,希望大家阅读完这篇文章之后都有所收获、下面让我们一起去探讨吧!

最近在做一个视频网站,需要实现视频的点赞功能,我是结合ajax和数据库实现的,数据库的格式为有四个字段:文章id,赞,踩,ip。因为需要一个ip只能点赞一次,所以需要一个ip字段存储点赞的ip,这样便于判断该ip是否已经点赞过了;

我将点赞和踩的图片做成两个按钮,具体代码如下:

& lt; button , id=皏ote", rel=? lt; ? php  echo 文章id; ?在“祝辞   & lt; img  src=https://www.yisu.com/zixun/钡阍尥计肪丁盿lt="赞">         <?php如果(! $ vnum)其他{回声0;}{回声点赞次数;}?>       & lt; button , id=癲vote", rel=? lt; ? php  echo 文章id; ?在“比;   & lt; img  src=https://www.yisu.com/zixun/辈韧计肪丁盿lt="踩">      <?php如果(! $ dnum)其他{回声0;}{回声踩次数;}?>      

js程序

& lt; script 类型=拔谋?javascript"比;   $(函数(){   var  id=$ (“# vote") .attr (& # 39; rel # 39;);//获取到文章id;   $ (“# vote") .click(函数(){   $ . get(“传到哪个页面? id=? id、函数(r) {   警报(r);   window.location.reload();//点赞成功后刷新页面更新新的点赞次数   })   })      $ (“# dvote") .click(函数(){   $ . get(“/新闻/dvote ? id=? id、函数(r) {   警报(r);   window.location.reload ();   })   })   })      & lt;/script>

我是用ci框架写,所以在消息。php下面投票的方法和dvote方法代表的是赞和踩,具体代码如下

public  function 投票(){   $ id=$ _GET [& # 39; id # 39;];   $ ip=getIP ();   getdata美元=https://www.yisu.com/zixun/$ this -> data_model;   data=getdata -> get_vote_ip美元($ id, $ ip);   味精美元=" ";   如果(空(数据(“知识产权”)美元)| | ! $ data(“知识产权”)){   “$ data=数组(“国家免疫日=> $ id、“投票”=> 1,“知识产权”=> $ ip);   re=getdata -> insert_vote美元($ data);   味精。美元="点赞成功”;   其他}{   味精。美元="一个ip只能操作一次”;   }   echo $味精;   }      公共函数dvote () {   $ id=$ _GET [' id '];   $ ip=getIP ();   getdata美元=$ this -> data_model;   data=getdata -> get_vote_ip美元($ id, $ ip);//get_vote_ip ($ id, $ ip),是在模型里面的查询该ip是否已经点赞过,具体代码如下//公共职能get_vote_ip ($ id, $ ip) {//查询美元=$ this -> db ->查询(“select *表名={$ id},在国家免疫日ip={$ ip}”);//查询-> data=美元result_array () [0];//返回元数据;//}         味精美元=" ";   如果(空(数据(“知识产权”)美元)| | ! $ data(“知识产权”)){   “$ data=数组(“国家免疫日=> $ id、“dvote”=> 0,“知识产权”=> $ ip);   re=getdata -> insert_vote美元($ data);   味精。美元="踩成功”;   其他}{   味精。美元="一个ip只能操作一次”;   }   echo $味精;   }

点赞可以实现以后,就是需要将点赞数据进行更新,首先需要在数据库查询该篇文章所以的点赞信息

//获取点赞信息   public  function  get_vote ($ id) {   查询=这→美元db→查询(“select  *,得到tx_vote  where  nid=& # 39; {$ id} & # 39;“);   data=https://www.yisu.com/zixun/查询-> result_array美元();   返回元数据;   }

获取信息返回到控制器里面将赞和踩的信息循环分别存入到数据库中然后分别计算新的数组长度就可以获取赞和踩的次数了,这样的再html页面输出就可以了

看完了这篇文章,相信你对“php + js怎么实现点赞功能”有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!

php + js怎么实现点赞功能