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.
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
Changez 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
base 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
Connectez-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:{'zanId':$("#zanId").val(),'uId':$("#uId").val()}, success:function(text){ $("#dolikeDIV").html(text); } }); }
annuler like
function zanDel() { $.ajax({ type:"POST", url:"./disSever.php", data:{'zanId':$("#zanId").val(),'uId':$("#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['count']; //更改输出的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['count']; //更新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 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!