91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php+js怎么實現點贊功能

發布時間:2021-02-04 16:12:51 來源:億速云 閱讀:196 作者:小新 欄目:開發技術

小編給大家分享一下php+js怎么實現點贊功能,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

最近在做一個視頻網站,需要實現視頻的點贊功能,我是結合ajax和數據庫實現的,數據庫的格式為有四個字段:文章id,贊,踩,ip。因為需要一個ip只能點贊一次,所以需要一個ip字段存儲點贊的ip,這樣便于判斷該ip是否已經點贊過了;

我將點贊和踩的圖片做成兩個按鈕;具體代碼如下:

<button  id="vote" rel="<?php echo 文章id;?>">
<img src="點贊圖片路徑" alt="贊">
<span >
<span >
<?php if(!$vnum){echo 0;}else{ echo 點贊次數;} ?>
</span>
</button>
<button  id="dvote" rel="<?php echo 文章id;?>">
<img src="踩圖片路徑" alt="踩" >
<span >
<?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怎么實現點贊功能”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

彩票| 平原县| 襄城县| 景东| 英吉沙县| 茌平县| 海城市| 瓮安县| 富顺县| 泰宁县| 邮箱| 云南省| 宁乡县| 神池县| 文昌市| 佳木斯市| 韩城市| 砀山县| 沅江市| 阿勒泰市| 涿州市| 武夷山市| 柳江县| 阆中市| 聂荣县| 阳西县| 修武县| 大余县| 尼勒克县| 岚皋县| 宁明县| 石城县| 二手房| 温泉县| 四会市| 耒阳市| 板桥市| 尉氏县| 渭源县| 九龙坡区| 射阳县|