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