PHP MYSQL 显示跟踪器,如何将剧集标记为已观看


PHP MYSQL Show tracker, how to mark episodes as watched

我正在以有趣的方式学习PHP,通过做一些有用的东西。我正在制作一个个人 PHP/MYSQL 网站,用于跟踪观看的电视节目剧集,到目前为止进展顺利,尽管很混乱。

我有一个用户表,一个剧集表和一个系列表。我想这些中的每一个都是不言自明的。我想做的是让用户表中的每个用户都能够跟踪观看了哪些剧集。(每个单集都在剧集表中,有一个字段将其与系列表连接以保持跟踪)

我无法理解的是:
如何跟踪该用户是否观看了该剧集?

我想出的唯一解决方案是

  1. 在剧集数据库中添加一个带有userID的字段,并将它们标记为0或1,这不是一个非常好的解决方案。
  2. 更糟糕的是,每个用户都有一个"watched_id"字段,每个观看的剧集都有几个值。

我知道的足够多,知道这不是一个好方法,我怎样才能更有效地解决这个问题?

您需要使用映射表创建多对多关系,即命名为"已监视",具有以下字段

id
user_id
episode_id
watched_at
...

希望有帮助。如果你搜索"多对多关系",网上有很多文档,这里只是一个例子:

http://www.joinfu.com/2005/12/managing-many-to-many-relationships-in-mysql-part-1/