我想包含一个类似于 Facebook 的喜欢/不喜欢系统,到目前为止,我已将喜欢/不喜欢列设置为“文本”类型。这样我就可以添加喜欢/不喜欢帖子的用户的 ID。这是最好的方法吗?另外,除了上面的问题之外,我如何阻止用户再次按下喜欢和不喜欢按钮?既然用户喜欢某个帖子,它就应该显示不喜欢/不喜欢的选项吗?一个概念/想法将很好地说明如何做到这一点。
最佳答案
虽然很难做出纸上谈兵的决定,但以下是我的想法:
首先,您可以为每个帖子设置一个“喜欢”整数列。当用户向上和向下单击时,该数字会增加或减少。这无法防止用户多次点击,但它既简单又快速。
另一种方法是创建一个“赞”表,其中包含 post_id、user_id 和 Score 列。分数可以有两个值:“1”或“-1”。所有 3 列都是整数。当用户点击“喜欢”时,您可以对 user_id 和 post_id 匹配的行执行 INSERT/UPDATE 命令。
然后,要查看帖子的最终得分,请执行 SELECT SUM(score) FROM that_table WHERE post_id = ?。
使用第二种方法,如果您想查看最近点击者的名称,您可以添加时间戳列并搜索最近的条目。
关于mysql - 帖子的喜欢和不喜欢系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7169470/