用于喜欢/不喜欢功能的PHP / SQL逻辑

时间:2011-12-22 02:31:02

标签: php sql

我正在寻找代码[喜欢|不喜欢以最好和最有效的方式利用PHP / SQL。

我目前有两张桌子:users& content

  • 我应该如何存储用户的喜欢和不喜欢的内容?
  • 我应该如何存储特定内容项目的数量?

我正在寻找可能的最佳逻辑,所以我不会用低效的查询重载我的网站。

3 个答案:

答案 0 :(得分:2)

样本表

posts
----
id
content
user


users
----
id
username

user_likes
----
id
user
post_id

答案 1 :(得分:1)

您可以创建一个新表user_likes,也许还可以通过外键将表likes_details链接在一起,以保持用户“喜欢”,以及有关此表的信息(作为日期,IP或其他任何内容) ,查看db normalization

答案 2 :(得分:1)

您应该保持数据库结构规范化。那意味着你

  • 尽可能地切断属性。例如:不要创建字段 “地址”但三个字段“街道”“邮政编码”“管家编号”而不是。
  • 只将相关属性放在一个表中。例如:表“人”可以包含诸如“person_id”,“height”,“weight”或“eye_color”之类的字段,但不包含“地址”之类的字段。创建第二个表,称为“person_addresses”,其中包含“person_id”,“street”,“postcode”,“housenumber”等字段。

因此,您的案例的有效方法是创建两个表。第一个“user”,字段为“user_id”,第二个为“likes_dislikes”,字段为“user_id”,“likes”和“dislikes”。

查看此Wiki条目以了解有关数据库规范化的更多信息: http://en.wikipedia.org/wiki/Database_normalization