Maison  >  Article  >  développement back-end  >  Comment implémenter la fonction J'aime et Annuler en php

Comment implémenter la fonction J'aime et Annuler en php

藏色散人
藏色散人original
2021-07-19 09:56:402498parcourir

Comment implémenter la fonction d'annulation des likes en PHP : déterminez d'abord si l'utilisateur aime ou non ; puis chargez un code HTML différent selon que l'utilisateur aime ou non ; puis appelez différentes méthodes pour augmenter ou diminuer la base de données.

Comment implémenter la fonction J'aime et Annuler en php

L'environnement d'exploitation de cet article : système Windows 7, PHP version 7.1, ordinateur DELL G3

Comment implémenter la fonction J'aime et annuler en php ?

php+mysql+ajax Fonction like/annulation partielle, chaque compte n'aime qu'une seule fois

Enregistrez les utilisateurs qui aiment chaque like et comptez le nombre de likes. Tout d'abord, déterminez si l'utilisateur aime. Selon que vous l'aimez ou non, chargez un code HTML différent et appelez différentes méthodes. Si vous l'avez aimé, le code HTML aimé sera affiché. Si vous ne l'avez pas aimé, le code HTML non aimé sera affiché. Effectuez des opérations similaires. différentes opérations, augmenter ou diminuer la base de données. En même temps, ajoutez ou supprimez des enregistrements pour différents utilisateurs. En contrôlant l'arrière-plan des différents boutons, vous pouvez afficher différents effets. En enregistrant la relation entre les identifiants utilisateur et les identifiants similaires de différents utilisateurs, des restrictions sur différents likes peuvent être mises en œuvre.

Démonstration d'effet

Lorsque l'ID utilisateur est 1, comme lui, le nombre de likes est augmenté de 1

Comment implémenter la fonction Jaime et Annuler en phpChangez l'ID utilisateur, lorsque l'ID est 2, l'utilisateur de l'utilisateur 1 l'a déjà aimé, et le nombre de likes est ajouté. Ajoutez 1

Comment implémenter la fonction Jaime et Annuler en phpbase de données

base de données basée sur les likes de l'utilisateur 1, qui est divisée en deux tables de données. L’un est utilisé pour compter le nombre de likes et l’autre est utilisé pour enregistrer les likes des différents utilisateurs.

Détails des deux tables de données

Comment implémenter la fonction Jaime et Annuler en phpConnectez-vous à la base de données

$con = new mysqli('localhost','root','','test');
if (!$con)
{
    die('连接数据库失败,失败原因:' . mysqli_error());
}else {
   // echo "连接成功";
}

Jugez si l'utilisateur aime (page d'opération)

Extraire les informations de la base de données

//假设用户编号为1
$uId="1";
//假设赞编号为1
$zanId="1";
//查找赞id为1的点赞数
$count=mysqli_query($con, "SELECT count FROM zanCount WHERE zanId=$zanId ");
$countResult=mysqli_fetch_array($count);
$countZan=$countResult['count'];
//查找改用户是否对赞id为1 点赞
$uIdLike=mysqli_query($con, "SELECT * FROM zanRecord WHERE uId=$uId ");
$result=mysqli_fetch_array($uIdLike);

Jugez si l'utilisateur aime et produisez un HTML différent

//点赞
if (isset($result)) 
{
    $showZan.=<<<html
         <div class="dolikeDIV" id="dolikeDIV">
   <button id="dolike" onclick="zanDel()"></button>
   <span id="zan">$countZan</span>
         </div>
html;
   
  
}
//没点赞
else
{
    $showZan.=<<<html
        <div class="dolikeDIV" id="dolikeDIV">
  <button id="donolike" onclick="zan()"></button>
  <span id="zan">$countZan</span>
        </div>
html;
}
echo $showZan;
    ?>

css styles

#dolike, #donolike 
{ 
 width:30px;
 height:30px; 
 margin-left:20px;
 float:left;}
#donolike 
{
background:url(./images/nolike.png); 
background-size:30px 30px; 
}
#dolike
{
background:url(./images/like.png);
 background-size:30px 30px; 
 }

La méthode ajax appelée

passez les données requises lors du passage de zanId et uId ici, n'oubliez pas d'introduire le fichier jq pour like

function zan()
{
$.ajax({
type:"POST",
url:"./likeSever.php",
data:{&#39;zanId&#39;:$("#zanId").val(),&#39;uId&#39;:$("#uId").val()},
success:function(text){
$("#dolikeDIV").html(text);
}
});
}

annuler like

function zanDel()
{
$.ajax({
type:"POST",
url:"./disSever.php",
data:{&#39;zanId&#39;:$("#zanId").val(),&#39;uId&#39;:$("#uId").val()},
success:function(text){
$("#dolikeDIV").html(text);
}
});
}

processing code

Point Like Processing

//更新赞总数的数据
    mysqli_query($con,"UPDATE zanCount SET count = count+1 WHERE zanId=$zanId");
    
    //添加一条点赞记录   
    mysqli_query($con,"INSERT INTO zanRecord(zanId,uId) VALUES($zanId, $uId); ");
    
    //查找赞的总数
    @$count=mysqli_query($con, "SELECT count FROM zanCount WHERE zanId=$zanId ");
    @$countResult=mysqli_fetch_array($count);
    @$countZan=$countResult[&#39;count&#39;];
    
    //更改输出的html
    $show="";
    $show=<<<html
        <button id="dolike" onclick="zanDel()"></button>
<span id="zan">$countZan</span>
html;
    echo $show;

Annuler le traitement des likes

 //更新赞总数的数据
        mysqli_query($con,"UPDATE zanCount SET count = count-1 WHERE zanId=$zanId");
        
        //添加一条点赞记录
        mysqli_query($con,"DELETE FROM zanRecord WHERE zanId=$zanId AND uId=$uId ");
        
        //查找赞的总数
        @$count=mysqli_query($con, "SELECT count FROM zanCount WHERE zanId=$zanId ");
        @$countResult=mysqli_fetch_array($count);
        @$countZan=$countResult[&#39;count&#39;];
        
        //更新html
        $show="";
        $show.=<<<html
        <button id="donolike" onclick="zan()"></button>
<span id="zan">$countZan</span>
html;

​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ en dessinant moi-même les images que j'aime, c'est un peu inesthétique

Apprentissage recommandé : "

Tutoriel vidéo PHPComment implémenter la fonction Jaime et Annuler en php"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn