Maison  >  Article  >  développement back-end  >  Apprenez php+mysql+ajax pour actualiser partiellement la fonction like/cancel like

Apprenez php+mysql+ajax pour actualiser partiellement la fonction like/cancel like

coldplay.xixi
coldplay.xixiavant
2020-08-06 16:17:182352parcourir

Apprenez php+mysql+ajax pour actualiser partiellement la fonction like/cancel like

Enregistrez les utilisateurs qui aiment chaque like et comptez le nombre de likes
Déterminez d'abord si l'utilisateur aime ou non. Selon qu'il est aimé, chargez un code HTML différent et appelez différentes méthodes

Aimé

S'il a été aimé Aimez, affichez le code HTML aimé et annulez l'opération J'aime

Recommandations d'apprentissage associées : programmation php(vidéo)

Pas aimé

Si vous n'aimez pas, affichez le code HTML non aimé et effectuez l'opération similaire

Pour différentes opérations, pour 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 de l'effet

Lorsque l'identifiant utilisateur est 1, aimez-le, le nombre de likes sera augmenté de 1

Apprenez php+mysql+ajax pour actualiser partiellement la fonction like/cancel like

Changer le ID utilisateur Lorsque l'identifiant est 2, l'utilisateur 1 l'a aimé et le nombre de likes est augmenté de 1 en fonction des likes de l'utilisateur 1

Apprenez php+mysql+ajax pour actualiser partiellement la fonction like/cancel like

Base de données

La base de données 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

Apprenez php+mysql+ajax pour actualiser partiellement la fonction like/cancel like

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 ou not (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 l'aime et affichez un code HTML différent

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

style CSS

#dolike, #donolike 
{ 
 width:30px;
 height:30px; 
 margin-left:20px;
 float:left;}
#donolike 
{
background:url(./images/noApprenez php+mysql+ajax pour actualiser partiellement la fonction like/cancel like); 
background-size:30px 30px; 
}
#dolike
{
background:url(./images/Apprenez php+mysql+ajax pour actualiser partiellement la fonction like/cancel like);
 background-size:30px 30px; 
 }

La méthode ajax appelée

transmet les données requises, qui sont transmises ici lorsque zanId et uId
pensez à introduire le fichier jq
Like

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

Annuler le like

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

Code de traitement

J'aime le traitement

//更新赞总数的数据
 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" οnclick="zanDel()"></button>
		<span id="zan">$countZan</span>
html;
 echo $show;

Annuler comme le traitement

//更新赞总数的数据
 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" οnclick="zan()"></button>
		<span id="zan">$countZan</span>
html;

Images aimées
Les photos ont été dessinées par moi-même et sont un peu disgracieuses

Apprenez php+mysql+ajax pour actualiser partiellement la fonction like/cancel likenoApprenez php+mysql+ajax pour actualiser partiellement la fonction like/cancel like


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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer