Home > Backend Development > PHP Problem > How to implement the like and cancel function in php

How to implement the like and cancel function in php

藏色散人
Release: 2023-03-11 17:16:02
Original
2612 people have browsed it

php method to implement the like cancellation function: first determine whether the user likes it; then load different html based on whether the user likes it; then call different methods to increase or decrease the database.

How to implement the like and cancel function in php

The operating environment of this article: windows7 system, PHP7.1 version, DELL G3 computer

How does php implement the like and cancel function?

php mysql ajax partial like/cancel like function, each account only likes once

Record the like users for each like, and To count the number of likes, first determine whether the user has liked it. Depending on whether you like it or not, load different html and call different methods. If you have liked it, the liked html will be displayed. If you have not liked it, the liked html will be displayed. If not liked, the unliked html will be displayed. Perform like operations

For different operations, 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

How to implement the like and cancel function in php

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 the likes of user 1

How to implement the like and cancel function in php

database

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

How to implement the like and cancel function in php

Connect to the database

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

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);
Copy after login

Judge whether the user likes it, and output different html

//点赞
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;
    ?>
Copy after login

css style

#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; 
 }
Copy after login

The ajax method called

Pass the required data, zanId and uId are passed here. Remember to introduce the jq file to 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);
}
});
}
Copy after login

Cancel likes

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);
}
});
}
Copy after login

Processing code

Points Praise 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;
Copy after login

Cancellation of 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;
Copy after login

## 点 赞 赞 赞 赞 赞 赞 赞 赞 赞 赞 赞

How to implement the like and cancel function in php

#Recommended learning: "

PHP Video Tutorial"

The above is the detailed content of How to implement the like and cancel function in php. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
php
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template