浏览量点赞的代码 数据能够保存
时间: 2023-11-28 16:06:21 浏览: 38
当然可以保存数据,这里提供一个使用 PHP 和 MySQL 数据库保存点赞数和浏览量的示例代码:
1. 创建数据库
首先需要创建一个数据库和表来保存数据。可以使用以下 SQL 语句创建一个名为 `testdb` 的数据库和一个名为 `pageviews` 的表:
```sql
CREATE DATABASE IF NOT EXISTS testdb;
USE testdb;
CREATE TABLE IF NOT EXISTS pageviews (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
page_name VARCHAR(255) NOT NULL,
views INT DEFAULT 0,
likes INT DEFAULT 0
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
```
2. 编写 PHP 接口
接下来编写 PHP 接口来处理用户访问和点赞事件,并将数据保存到数据库中。以下是一个简单的 PHP 接口:
```php
<?php
// 配置数据库连接信息
$db_host = "localhost";
$db_user = "root";
$db_pass = "";
$db_name = "testdb";
// 连接数据库
$conn = mysqli_connect($db_host, $db_user, $db_pass, $db_name);
if (!$conn) {
die("连接数据库失败:" . mysqli_connect_error());
}
// 处理页面名称和事件类型
$page_name = $_POST["page_name"] ?? "";
$event_type = $_POST["event_type"] ?? "";
if ($page_name && $event_type) {
// 查询页面数据
$sql = "SELECT * FROM pageviews WHERE page_name='$page_name'";
$result = mysqli_query($conn, $sql);
if (!$result) {
die("查询数据库失败:" . mysqli_error($conn));
}
if (mysqli_num_rows($result) == 0) {
// 如果页面不存在则插入新数据
$sql = "INSERT INTO pageviews (page_name) VALUES ('$page_name')";
$result = mysqli_query($conn, $sql);
if (!$result) {
die("插入数据库失败:" . mysqli_error($conn));
}
}
if ($event_type == "view") {
// 更新浏览量
$sql = "UPDATE pageviews SET views=views+1 WHERE page_name='$page_name'";
} else if ($event_type == "like") {
// 更新点赞数
$sql = "UPDATE pageviews SET likes=likes+1 WHERE page_name='$page_name'";
}
$result = mysqli_query($conn, $sql);
if (!$result) {
die("更新数据库失败:" . mysqli_error($conn));
}
}
// 关闭数据库连接
mysqli_close($conn);
?>
```
3. 编写前端页面
最后编写前端页面,通过 AJAX 请求 PHP 接口来处理点赞和浏览量事件。以下是一个简单的前端页面:
```html
<!DOCTYPE html>
<html>
<head>
<title>点赞和浏览量统计</title>
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
</head>
<body>
<h1>点赞和浏览量统计</h1>
<p>浏览量:<span id="viewCount">0</span></p>
<p>点赞数:<span id="likeCount">0</span></p>
<button id="likeBtn">点赞</button>
<script>
$(function() {
// 初始化页面数据
var pageName = "test";
$.post("pageviews.php", {"page_name": pageName, "event_type": "view"}, function(data) {
$("#viewCount").text(data.views);
$("#likeCount").text(data.likes);
}, "json");
// 点赞事件
$("#likeBtn").click(function() {
$.post("pageviews.php", {"page_name": pageName, "event_type": "like"}, function(data) {
$("#likeCount").text(data.likes);
}, "json");
});
});
</script>
</body>
</html>
```
此时,用户每次访问页面和点赞时,数据都会保存到数据库中。