从DB获取最近观看的视频

时间:2013-11-20 07:52:29

标签: php mysql mysqli

我正在开发支持其上显示的视频和图片的网站。 我需要制作一个功能来获取最近观看过的特定用户的视频。

我有以下表结构,从中我得到了有多少人查看过的特定视频的视图。(通过获取与视频ID 相对应的行没有)

view_id user_email             video_id
      3 singhmakhan24gmail.com       24
    130 singhmakhan24gmail.com       60
      8 singhmakhan24gmaii com       27
     10 singhmakhan24gmail.com       30

现在应该在表格结构中进行哪些修改,以获取特定用户ID 的最近观看过的视频。

我认为还需要时间戳才能得到这个。 任何帮助将不胜感激

3 个答案:

答案 0 :(得分:2)

通常情况下,您需要3个表来满足您的需求,如下所示

user_tbl(user_id, user_email, ...);
video_tbl(video_id, video_name, ...);
user_video_view(user_id, video_id, view_date);

特定用户可以查看多个视频,并且可以多次显示视频。表之间的关系如下

user_tbl : user_video_view = 1 : N
user_video_view : video_tbl = N :1

获取有多少人观看过特定视频。 (你已经完成了)

SELECT COUNT(*)
FROM user_video_view
WHERE video_id = ?;

获取最近观看的特定用户ID视频

SELECT COUNT(*)
FROM user_video_view
WHERE user_id = ?
ORDER BY view_date DESC

你的问题。

  

我认为还需要时间戳来获取此

YES!像view_date

答案 1 :(得分:0)

添加CREATED_DATE_TIME列并查询最新的

答案 2 :(得分:0)

是。添加一列ViewedDateTime列,数据类型为DateTime。插入查看日期和时间。