Products
GG网络技术分享 2025-03-18 16:17 0
PHP 是一种常用的服务器端脚本语言,广泛应用于网站开发。在网站开发过程中,可能会遇到需求需要记录用户上次观看视频的进度。本文将介绍如何使用 PHP 实现打开上次观看的视频进度功能,并通过举例说明其具体实现。
首先,我们需要在数据库中保存用户观看视频的相关信息,包括视频的 ID、用户 ID 和观看进度。具体的数据库结构如下:
CREATE TABLE video_progress (
id INT PRIMARY KEY AUTO_INCREMENT,
user_id INT NOT NULL,
video_id INT NOT NULL,
progress INT NOT NULL
);
接下来,当用户观看视频时,我们需要记录用户观看的进度。可以通过以下代码实现:
// 获取用户 ID 和视频 ID,这里使用假设的值
$user_id = 1;
$video_id = 123;
// 获取用户上次观看的进度
$query = \"SELECT progress FROM video_progress WHERE user_id = $user_id AND video_id = $video_id\";
$result = mysqli_query($connection, $query);
if (mysqli_num_rows($result) > 0) {
// 已存在记录,更新进度
$progress = mysqli_fetch_assoc($result)[\'progress\'];
$query = \"UPDATE video_progress SET progress = $progress WHERE user_id = $user_id AND video_id = $video_id\";
mysqli_query($connection, $query);
} else {
// 不存在记录,插入新记录
$progress = 0;
$query = \"INSERT INTO video_progress (user_id, video_id, progress) VALUES ($user_id, $video_id, $progress)\";
mysqli_query($connection, $query);
}
以上代码中,首先查询是否存在用户观看该视频的记录。如果存在,则更新进度;如果不存在,则插入新记录,进度初始为 0。
此外,当用户再次打开视频时,我们需要根据记录的进度进行跳转。可以通过以下代码实现:
// 获取用户 ID 和视频 ID,这里使用假设的值
$user_id = 1;
$video_id = 123;
// 获取用户上次观看的进度
$query = \"SELECT progress FROM video_progress WHERE user_id = $user_id AND video_id = $video_id\";
$result = mysqli_query($connection, $query);
if (mysqli_num_rows($result) > 0) {
$progress = mysqli_fetch_assoc($result)[\'progress\'];
// 根据进度跳转视频播放页面
header(\"Location: video.php?id=$video_id&progress=$progress\");
} else {
// 没有记录时默认从头开始观看
header(\"Location: video.php?id=$video_id&progress=0\");
}以上代码中,首先查询是否存在用户观看该视频的记录。如果存在,则获取进度并跳转到视频播放页面,并将进度作为参数传递;如果不存在,则默认从头开始观看视频。
通过以上的示例,我们可以看到如何使用 PHP 实现打开上次观看的视频进度功能。这种功能对于用户体验的提升非常重要,能够让用户无需重复观看,继续从上次离开的地方继续观看。
Demand feedback