Home > Article > Backend Development > Learn php+mysql+ajax to partially refresh the like/cancel like function
Record users who like each like, and count the number of likes
First determine whether the user likes or not. Load different html and call different methods depending on whether it is liked or not
Liked
If it has been liked Like, display the liked html, and cancel the like operation
Related learning recommendations:php programming(video)
Not liked
If not liked, display the unliked html and perform the like operation
For different operations , to increase or decrease the database. At the same time, add or delete records for the likes of different users. By controlling the background of different buttons, you can display different effects. By recording the relationship between the user IDs and like IDs of different users, restrictions on different likes can be implemented.
Effect Demonstration
When the user ID is 1, like it, and the number of likes is increased by 1
Change the user ID, when When the id is 2, user 1 has already liked it, and the number of likes is increased by 1 based on user 1’s likes
database
The database is divided into two data tables. One is used to count the number of likes, and the other is used to record the likes of different users.
Details of the two data tables
Connect to the database
$con = new mysqli('localhost','root','','test'); if (!$con) { die('连接数据库失败,失败原因:' . mysqli_error()); }else { // echo "连接成功"; }
Determine whether the user likes or not (Operation page)
Extract information from the database
//假设用户编号为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);
Judge whether the user likes it and output different html
//点赞 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; ?>
css style
#dolike, #donolike { width:30px; height:30px; margin-left:20px; float:left;} #donolike { background:url(./images/noLearn php+mysql+ajax to partially refresh the like/cancel like function); background-size:30px 30px; } #dolike { background:url(./images/Learn php+mysql+ajax to partially refresh the like/cancel like function); background-size:30px 30px; }
The ajax method called
passes the required data, which is passed here When zanId and uId
remember to introduce the jq file
Like
function zan() { $.ajax({ type:"POST", url:"./likeSever.php", data:{'zanId':$("#zanId").val(),'uId':$("#uId").val()}, success:function(text){ $("#dolikep").html(text); } }); }
Cancel like
function zanDel() { $.ajax({ type:"POST", url:"./disSever.php", data:{'zanId':$("#zanId").val(),'uId':$("#uId").val()}, success:function(text){ $("#dolikep").html(text); } }); }
Processing code
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" οnclick="zanDel()"></button> <span id="zan">$countZan</span> html; echo $show;
Cancel like processing
//更新赞总数的数据 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" οnclick="zan()"></button> <span id="zan">$countZan</span> html;
like的PICTURES
The picture was drawn by myself, it’s a bit unsightly
The above is the detailed content of Learn php+mysql+ajax to partially refresh the like/cancel like function. For more information, please follow other related articles on the PHP Chinese website!