Home  >  Article  >  Backend Development  >  How to achieve likes without refreshing in php

How to achieve likes without refreshing in php

藏色散人
藏色散人Original
2020-08-25 09:18:552879browse

php method to achieve refresh-free likes: first click the button through ajax index.php; then implement js response; then asynchronously submit to "sever.php" through ajax; and finally return to the page through js. No refresh likes.

How to achieve likes without refreshing in php

Recommended: "PHP Video Tutorial"

ajax php mysql implements no-refresh like function

How to achieve likes without refreshing in php

It can be seen from the dynamic picture that when you click the like button, the number of likes next to it increases without refreshing. You can also see that the number of likes has been updated when you open the database.

The principle is to submit data to the database asynchronously through ajax.

First of all, the front-end page is a button and the number of likes.

Database name, test, table name zan, field zan

ajaxindex.php

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>异步提交</title>
    <script src="jquery-2.1.1.min.js"></script>
    <script src="ajaxindex.js"></script>
</head>
<body>
    <button id="btn">赞</button>
    <span id="result">
        <?php
        $con = mysql_connect("localhost","root","root");
        if (!$con)
        {
        die(&#39;连接数据库失败,失败原因:&#39; . mysql_error());
        }
        //设置数据库字符集  
        mysql_query("SET NAMES UTF8");
        //查询数据库
        mysql_select_db("test", $con);
        $result = mysql_query("SELECT * FROM zan");
        while($row = mysql_fetch_array($result))
        {
        echo $row[&#39;zan&#39;];
        }
        //关闭连接
        mysql_close($con);
        ?>
    </span>
</body>
</html>
ajaxindex.js
$(document).ready(function(){
    $("#btn").on("click",function(){
        $.get("sever.php",{name:$("#btn").val()},function(data){
            $("#result").text(data);
        });
    });
});

sever.php

<?php
header("Content-type:text/html;charset=utf-8");
//连接数据库
$con = mysql_connect("localhost","root","root");
if (!$con)
  {
  die(&#39;连接数据库失败,失败原因:&#39; . mysql_error());
  }
//设置数据库字符集  
mysql_query("SET NAMES UTF8");
//查询数据库
mysql_select_db("test", $con);
//更新
mysql_query("UPDATE zan SET zan = zan+1");
$result = mysql_query("SELECT * FROM zan");
if(isset($_GET[&#39;name&#39;])){
while($row = mysql_fetch_array($result))
  {
  echo $row[&#39;zan&#39;];
  }
}else{
    echo "赞失败!";
}
//关闭连接
mysql_close($con);
?>

General idea:

Click the button through ajaxindex.php, js will react, ajax will be submitted asynchronously to sever.php and then returned to the page through js, so there is no need to refresh.

sever.php is used to query and update data, and then output the data to the page after updating.

Download the entire demo: https://pan.lanzou.com/1485785

The above is the detailed content of How to achieve likes without refreshing in php. For more information, please follow other related articles on the PHP Chinese website!

Statement:
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