主頁 > 知識庫 > php+js實(shí)現(xiàn)點(diǎn)贊功能的示例詳解

php+js實(shí)現(xiàn)點(diǎn)贊功能的示例詳解

熱門標(biāo)簽:梧州市機(jī)器人外呼系統(tǒng)怎么樣 地圖標(biāo)注符號樣式有 電子地圖標(biāo)注怎么修改 公司外呼系統(tǒng)中心 菏澤語音外呼系統(tǒng)運(yùn)營商 臨沂crm外呼系統(tǒng)平臺 廈門400電話辦理選易號網(wǎng) 天客通地圖標(biāo)注 如何在世界地圖標(biāo)注

最近在做一個視頻網(wǎng)站,需要實(shí)現(xiàn)視頻的點(diǎn)贊功能,我是結(jié)合ajax和數(shù)據(jù)庫實(shí)現(xiàn)的,數(shù)據(jù)庫的格式為有四個字段:文章id,贊,踩,ip。因?yàn)樾枰粋€ip只能點(diǎn)贊一次,所以需要一個ip字段存儲點(diǎn)贊的ip,這樣便于判斷該ip是否已經(jīng)點(diǎn)贊過了;

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

button style="margin-left:4px" id="vote" rel="?php echo 文章id;?>">
img src="點(diǎn)贊圖片路徑" 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 點(diǎn)贊次數(shù);} ?>
/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 踩次數(shù);} ?>
/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();//點(diǎn)贊成功后刷新頁面更新新的點(diǎn)贊次數(shù)
})
})

$("#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.="點(diǎn)贊成功";
}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是否已經(jīng)點(diǎn)贊過,具體代碼 如下

//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;
}

點(diǎn)贊可以實(shí)現(xiàn)以后,就是需要將點(diǎn)贊數(shù)據(jù)進(jìn)行更新,首先需要在數(shù)據(jù)庫查詢該篇文章所以的點(diǎn)贊信息

//獲取點(diǎn)贊信息
public function get_vote($id){
$query=$this->db->query("select * from tx_vote where nid='{$id}'");
$data=$query->result_array();
return $data;
}

獲取信息返回到 控制器里面將贊和踩的信息循環(huán)分別存入到數(shù)據(jù)庫中然后分別計算新的數(shù)組長度就可以獲取贊和踩的次數(shù)了,這樣的再html頁面輸出就可以了

到此這篇關(guān)于php+js實(shí)現(xiàn)點(diǎn)贊功能的示例的文章就介紹到這了,更多相關(guān)php+js實(shí)現(xiàn)點(diǎn)贊功能內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • php+mysql+ajax 局部刷新點(diǎn)贊/取消點(diǎn)贊功能(每個賬號只點(diǎn)贊一次)
  • PHP+fiddler抓包采集微信文章閱讀數(shù)點(diǎn)贊數(shù)的思路詳解
  • Ajax實(shí)現(xiàn)phpcms 點(diǎn)贊功能實(shí)例代碼
  • php+jQuery+Ajax實(shí)現(xiàn)點(diǎn)贊效果的方法(附源碼下載)
  • php+xml結(jié)合Ajax實(shí)現(xiàn)點(diǎn)贊功能完整實(shí)例
  • php+mysql結(jié)合Ajax實(shí)現(xiàn)點(diǎn)贊功能完整實(shí)例

標(biāo)簽:貴陽 迪慶 黃石 綿陽 瀘州 白城 雞西 郴州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《php+js實(shí)現(xiàn)點(diǎn)贊功能的示例詳解》,本文關(guān)鍵詞  php+js,實(shí)現(xiàn),點(diǎn)贊,功能,的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《php+js實(shí)現(xiàn)點(diǎn)贊功能的示例詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于php+js實(shí)現(xiàn)點(diǎn)贊功能的示例詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章