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

So erreichen Sie Likes in PHP

coldplay.xixi
Freigeben: 2023-03-07 15:32:01
Original
3535 Leute haben es durchsucht

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>
Nach dem Login kopieren
<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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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;
}
Nach dem Login kopieren

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;
}
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Aktuelle Ausgaben
PHP-Datenerfassung?
Aus 1970-01-01 08:00:00
0
0
0
PHP-Erweiterung intl
Aus 1970-01-01 08:00:00
0
0
0
Wie man PHP gut lernt
Aus 1970-01-01 08:00:00
0
0
0
Mehrere PHP-Versionen
Aus 1970-01-01 08:00:00
0
0
0
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage