1

我试图制作一个喜欢或支持系统的 php/mysql 版本。我基本上知道如何做到这一点,并且已经看到其他关于如何做到这一点的线程。唯一的问题是我不想让用户多次喜欢该状态。我想知道最有效的方法是什么?

我有几个选择,所以你知道我已经考虑过了,但也许你可以告诉我什么是最好的/推荐一个更好的方法:

1)在数据库中,我可以存储一个列,该列仅存储所有喜欢此状态的用户的字符串表示形式。这样,当我查询该状态/点赞数时,我还可以获得该字符串,对其进行标记并检查用户是否在其中。如果没有,添加一个like 并将它们连接到字符串。

2) 创建一个存储键值对的新表。因此,如果 user1 喜欢 user2 的状态,那么它会在表中添加一行 [user1, user2],然后如果他们再次尝试喜欢它,它会检查该行是否存在并且不允许。然而,我认为这可能是有问题的,因为如果在给定时间有 1000 个状态并且每个人都“喜欢”所有 999 个其他状态,那么我的表现在有近一百万行需要在检查他们是否喜欢时存储和查询.

4

1 回答 1

0

我为自己的公司做了一个类似的系统。这就是我所做的:

我有一个喜欢表,其中包含以下信息:id、user、number_likes

用于计算行数的 id,用于跟踪用户 id 的 user 和用于跟踪用户喜欢什么的 number_likes。例如,如果您喜欢文章。

你可以有一个文章表:id,article_id,...

现在,只需有一个赞按钮,将信息插入到中,并且number_likesarticle_id匹配。

于 2016-03-25T16:28:06.460 回答