6

我一直在考虑为我的网站设置一个点赞系统,但我无法确定最好的方法。我正在使用 MySQL,现在,我有一个活动表,用于文本、图片、视频等的帖子,还有一个评论表,用于评论。评论和活动帖子都可以点赞,那么点赞表的列应该怎么处理呢?我愿意接受将整个架构一起更改以获得更连贯的设计的建议。

4

1 回答 1

17

只需创建一个表likes,其结构如下:

`id` int(11) NOT NULL AUTO_INCREMENT,
`userid` int(11) NOT NULL,
`post_type` varchar(10) NOT NULL,
`post_id` int(11) NOT NULL,
`date` datetime NOT NULL,
 PRIMARY KEY (`id`)

然后,每当有人喜欢活动帖子时,您将插入该用户的 ID,即post_type作为活动,然后post_id将是帖子 ID(显然)。

如果有人喜欢评论,您会做同样的事情,但会为帖子类型添加评论

然后获得喜欢的活动帖子:

SELECT * FROM `likes` WHERE post_id = 'id' AND post_type = 'activity'

您只需要替换'id'为 ID 变量。

评论也是如此(当然,除非您需要更改post_type)。

我希望这可以帮助您了解如何为您的网站制作类似的系统:)

于 2012-08-08T02:06:28.820 回答