要实现多篇文章点赞功能,可以使用数据库来存储每篇文章的点赞数。以下是一个简单的实现示例:
CREATE TABLE articles (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
content TEXT,
likes INT DEFAULT 0
);
<?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>
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怎么关闭伪静态代代码
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站