ホームページ  >  記事  >  バックエンド開発  >  PHPで「いいね」を獲得する方法

PHPで「いいね」を獲得する方法

coldplay.xixi
coldplay.xixiオリジナル
2020-11-13 11:48:173413ブラウズ

php のいいねを獲得するメソッド: 最初に記事 ID を取得します、コードは [var id=$("#vote").attr('rel')] です; 次に、いいねが成功した後にページを更新します新しい「いいね!」の数を更新します。コードは [window.location.reload()] です。

PHPで「いいね」を獲得する方法

php でいいねを獲得する方法:

現在ビデオ Web サイトで作業しているため、いいねを獲得する必要があります動画ではajaxとデータベースを組み合わせて機能を実装しましたが、データベースの形式は記事ID、いいね、嫌い、IPの4つのフィールドがあります。 IP は 1 回だけ「いいね!」できるため、IP フィールドに「いいね!」された IP を保存する必要があるため、IP がいいねされたかどうかを簡単に判断できます;

「いいね」と「嫌い」の写真を 2 つ作成します。 ; 具体的なコードは次のとおりです:

<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 プログラム

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

ci フレームワークを使用して記述しているため、news.php の vote メソッドと dvote メソッドは好き嫌いを表します。コードは次のとおりです

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

いいねが実現できたら、いいねデータを更新する必要があります。まず、記事のいいね情報をデータベースに問い合わせる必要があります

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

情報を取得しますその中で、好き嫌いの情報をループでデータベースに格納し、それぞれ新しい配列の長さを計算して好き嫌いの数を取得することで出力することができます。

関連する無料学習の推奨事項: php プログラミング (ビデオ)

以上がPHPで「いいね」を獲得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。