Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

php如何实现多篇文章点赞

作者:风中孤狼   发布日期:2024-02-03   浏览:222

要实现多篇文章点赞功能,可以使用数据库来存储每篇文章的点赞数。以下是一个简单的实现示例:

  1. 创建一个数据库表来存储文章信息,包括文章的ID、标题、内容和点赞数等字段。
CREATE TABLE articles (
  id INT AUTO_INCREMENT PRIMARY KEY,
  title VARCHAR(255) NOT NULL,
  content TEXT,
  likes INT DEFAULT 0
);
  1. 在页面上显示文章列表,并为每篇文章添加点赞按钮。
<?php
// 连接数据库
$connection = mysqli_connect('localhost', 'username', 'password', 'database');

// 查询文章列表
$query = mysqli_query($connection, 'SELECT * FROM articles');
while ($row = mysqli_fetch_assoc($query)) {
    echo '<h2>' . $row['title'] . '</h2>';
    echo '<p>' . $row['content'] . '</p>';
    echo '<button onclick="likeArticle(' . $row['id'] . ')">点赞</button>';
}
?>

<script>
function likeArticle(articleId) {
    // 发送异步请求给后端,增加文章的点赞数
    var xhr = new XMLHttpRequest();
    xhr.open('POST', 'like.php', true);
    xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    xhr.onreadystatechange = function() {
        if (xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) {
            // 更新页面上的点赞数
            var likesCount = document.getElementById('likes-count-' + articleId);
            likesCount.innerHTML = parseInt(likesCount.innerHTML) + 1;
        }
    };
    xhr.send('articleId=' + articleId);
}
</script>
  1. 创建一个用于处理点赞请求的 PHP 文件 like.php
<?php
// 连接数据库
$connection = mysqli_connect('localhost', 'username', 'password', 'database');

// 获取文章ID
$articleId = $_POST['articleId'];

// 更新文章的点赞数
mysqli_query($connection, "UPDATE articles SET likes = likes + 1 WHERE id = $articleId");

// 返回成功响应
http_response_code(200);
?>

这样,当用户点击文章的点赞按钮时,会发送一个异步请求给后端的 like.php 文件,后端会更新数据库中对应文章的点赞数,并返回一个成功的响应。前端收到响应后,会更新页面上对应文章的点赞数。

上一篇:php显示文件名乱码怎么解决

下一篇:php怎么关闭伪静态代代码

大家都在看

php session用法

phpisset函数

php后端

php爬虫框架

php读取csv文件

php 三元表达式

php文件加密

php 拆分字符串

php pcntl

php ||

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站