Heim  >  Artikel  >  Backend-Entwicklung  >  So erreichen Sie Likes in PHP

So erreichen Sie Likes in PHP

coldplay.xixi
coldplay.xixiOriginal
2020-11-13 11:48:173413Durchsuche

So erreichen Sie Likes in PHP: Rufen Sie zuerst die Artikel-ID ab, der Code lautet [var id=$("#vote").attr('rel')] und aktualisieren Sie dann die Seite, um die neue Anzahl von Likes zu aktualisieren Die Likes sind erfolgreich, der Code lautet [window.location.reload()].

So erreichen Sie Likes in PHP

So erreichen Sie Likes in PHP:

Ich arbeite derzeit an einer Video-Website und muss die Likes-Funktion von Videos implementieren, indem ich Ajax und ein Datenbankformat kombiniere ist, dass es vier Felder hat: Artikel-ID, „Gefällt mir“, „Gefällt mir nicht“, IP. Da eine IP nur einmal geliked werden kann, wird ein IP-Feld benötigt, um die gelikede IP zu speichern, damit leicht festgestellt werden kann, ob die IP geliked wurde.

Ich habe die Like- und Dislike-Bilder speziell in zwei Schaltflächen unterteilt lautet wie folgt:

<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-Programm

<script type="text/javascript">
$(function(){
var id=$("#vote").attr(&#39;rel&#39;);//获取到文章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>

Ich schreibe es mit dem CI-Framework, sodass die Abstimmungsmethode und die Dvote-Methode unter news.php Vorlieben und Abneigungen darstellen. Der spezifische Code lautet wie folgt:

public function vote(){
$id=$_GET[&#39;id&#39;];
$ip=getIP();
$getdata=$this->data_model;
$data=$getdata->get_vote_ip($id,$ip);
$msg="";
if(empty($data[&#39;ip&#39;]) || !$data[&#39;ip&#39;]){
  $data=array(&#39;nid&#39;=>$id,&#39;vote&#39;=>1,&#39;ip&#39;=>$ip);
  $re=$getdata->insert_vote($data);
  $msg.="点赞成功";
}else{
  $msg.="一个ip只能操作一次";
}
echo $msg;
}
public function dvote(){
$id=$_GET[&#39;id&#39;];
$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=&#39;{$id}&#39; and ip=&#39;{$ip}&#39;");
// $data=$query->result_array()[0];
// return $data;
// }
$msg="";
if(empty($data[&#39;ip&#39;]) || !$data[&#39;ip&#39;]){
  $data=array(&#39;nid&#39;=>$id,&#39;dvote&#39;=>0,&#39;ip&#39;=>$ip);
  $re=$getdata->insert_vote($data);
  $msg.="踩成功";
}else{
  $msg.="一个ip只能操作一次";
}
echo $msg;
}

Danach kann es sein implementiert, es ist notwendig, die Like-Daten zu aktualisieren. Zuerst müssen Sie die Datenbank nach allen Like-Informationen abfragen.

//获取点赞信息
public function get_vote($id){
$query=$this->db->query("select * from tx_vote where nid=&#39;{$id}&#39;");
$data=$query->result_array();
return $data;
}

Erhalten Sie die Informationen und geben Sie sie an den Controller zurück Abneigungsinformationen in die Datenbank eingeben und dann die neuen Arrays berechnen. Die Länge kann verwendet werden, um die Anzahl der Likes und Dislikes zu ermitteln und sie dann auf der HTML-Seite auszugeben. Verwandte kostenlose Lernempfehlungen:

PHP-Programmierung (Video).

Das obige ist der detaillierte Inhalt vonSo erreichen Sie Likes in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn