我有一个 SQL 数据库,表名:视频,我在其中存储视频。此表中的相关列是:id、thecategory_id
和video_id
。
id,是一个唯一的id,每一个视频不管哪个类别都有不同的id,同样的id不可能不管类别。
category_id
也是唯一的,并且每个都被分配到一个类别,例如,Funny 是 1 。
对于此video_id
列,可能有多个具有相同值的行。例如,如果一个视频托管在 YouTube 上,而完全相同的视频托管在 Vimeo 上。然后我们有镜子。真的,你在想什么?好吧,数据库只将嵌入代码存储到视频中,由页面调用。
出现视频的客户端页面仅通过分配的 id 来回忆他们的视频;比方说: - 有人打开有趣的类别。然后客户端查看:from tablename videos where category_id
is 1. - 所以假设有一个名为“Funny Fails”的视频,有两个镜像 YouTube 和 Vimeo,所以两行都有不同的 id,但相同video_id
。YouTube 的 Funny Fails 镜像由于某种原因得到了 id 1,而 Vimeo 得到了 id 2(为简单起见),当然这两个视频都有video_id
1 并且在category_id
1 内。
客户端 .php 只是查找 id,例如:/category_detail.php?id=1
或/videopage.php?id=1
.
现在您很可能了解数据库以及客户端如何从数据库中检索信息。
我们要做的只是在客户端的页面中添加两个选项。这些是上一个视频和下一个视频。
假设我们正在浏览 ID video_id
110、123 里面category_id
1 它没有镜像。
如果我们按 Previous Video 它应该寻找:video_id
122 inside category_id
1 和动态部分,id 本身。此 ID 也是构成页面的链接的一部分,例如,这与后面的 id 相同.php?id=XXX
。
我一直在挣扎,我知道解决方案要简单得多,但不知何故我无法做到。
还应该有一个 Next Video 选项,它显然会video_id
在同一个 124 中寻找category_id
,无论是否有镜子。