点赞 <…">
当前位置:首页 > PHP

php使用ajax实现点赞

2026-01-29 07:01:03PHP

实现步骤

前端部分(HTML + JavaScript)

创建点赞按钮和显示点赞数的元素:

<button id="like-btn">点赞</button>
<span id="like-count">0</span>

使用jQuery处理AJAX请求:

$(document).ready(function() {
    $('#like-btn').click(function() {
        $.ajax({
            url: 'like.php',
            type: 'POST',
            data: { action: 'like' },
            success: function(response) {
                $('#like-count').text(response.likes);
            }
        });
    });
});

后端部分(PHP)

创建like.php处理点赞请求:

<?php
header('Content-Type: application/json');

// 模拟数据库存储点赞数
session_start();
if (!isset($_SESSION['likes'])) {
    $_SESSION['likes'] = 0;
}

if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['action'])) {
    if ($_POST['action'] === 'like') {
        $_SESSION['likes']++;
        echo json_encode(['likes' => $_SESSION['likes']]);
        exit;
    }
}

echo json_encode(['likes' => $_SESSION['likes']]);
?>

数据库集成

修改like.php使用MySQL数据库:

<?php
header('Content-Type: application/json');

$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

$conn = new mysqli($servername, $username, $password, $dbname);

if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['action'])) {
    if ($_POST['action'] === 'like') {
        $sql = "UPDATE likes SET count = count + 1 WHERE id = 1";
        $conn->query($sql);
    }
}

$result = $conn->query("SELECT count FROM likes WHERE id = 1");
$row = $result->fetch_assoc();
echo json_encode(['likes' => $row['count']]);

$conn->close();
?>

防止重复点赞

在前端添加禁用按钮逻辑:

$('#like-btn').click(function() {
    $(this).prop('disabled', true);
    $.ajax({
        // ...原有AJAX代码...
    });
});

完整实现方案

  1. 创建数据库表:

    CREATE TABLE likes (
     id INT PRIMARY KEY,
     count INT DEFAULT 0
    );
    INSERT INTO likes (id, count) VALUES (1, 0);
  2. 完整PHP代码:

    
    <?php
    header('Content-Type: application/json');

$conn = new mysqli("localhost", "username", "password", "myDB");

if ($_SERVER['REQUEST_METHOD'] === 'POST') { if (isset($_POST['action']) && $_POST['action'] === 'like') { $stmt = $conn->prepare("UPDATE likes SET count = count + 1 WHERE id = 1"); $stmt->execute(); } }

$stmt = $conn->prepare("SELECT count FROM likes WHERE id = 1"); $stmt->execute(); $result = $stmt->get_result(); $data = $result->fetch_assoc();

echo json_encode(['likes' => $data['count']]); $conn->close(); ?>


3. 完整前端代码:
```html
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<button id="like-btn">点赞</button>
<span id="like-count">0</span>

<script>
$(function() {
    // 初始加载点赞数
    $.get('like.php', function(data) {
        $('#like-count').text(data.likes);
    });

    $('#like-btn').click(function() {
        $(this).prop('disabled', true);
        $.ajax({
            url: 'like.php',
            type: 'POST',
            data: { action: 'like' },
            success: function(data) {
                $('#like-count').text(data.likes);
            }
        });
    });
});
</script>

php使用ajax实现点赞

标签: phpajax
分享给朋友:

相关文章

php实现分页

php实现分页

PHP实现分页的基本方法 使用原生PHP实现分页功能需要结合数据库查询和HTML展示。以下是核心实现步骤: 数据库查询与分页逻辑 // 连接数据库 $conn = new mysqli('loca…

php实现购物车

php实现购物车

PHP实现购物车功能 购物车功能是电商网站的核心模块之一,通常涉及商品添加、删除、数量修改和结算等操作。以下是使用PHP实现购物车功能的几种方法。 使用Session存储购物车数据 Session是…

php实现

php实现

PHP 实现的基本方法 PHP 是一种服务器端脚本语言,广泛用于 Web 开发。以下是 PHP 实现的一些常见方法。 变量与数据类型 PHP 变量以 $ 开头,支持多种数据类型: $nam…

php队列的实现

php队列的实现

PHP队列的实现方式 PHP中实现队列功能可以通过多种方式,根据需求选择适合的方案: 使用数组实现基础队列 PHP数组本身支持队列操作,利用array_push和array_shift函数:…

php怎么实现登录功能

php怎么实现登录功能

数据库准备 创建用户表存储登录信息,通常包括用户名、密码(需加密)等字段。示例SQL: CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY…

php实现博客

php实现博客

使用PHP实现博客系统 数据库设计 创建数据库表存储博客文章和用户信息。常见的表包括posts(文章)和users(用户)。 CREATE TABLE users ( id INT AUTO…