5
我一直在想我的网站的喜欢系统,我不能确定接近它的最佳方式。我正在使用MySQL,现在,我有一个活动表,用于发表文章,图片,视频等的帖子,以及评论表,以供评论。你可以喜欢评论和活动帖子,所以我应该如何处理类似表格的列?我很乐意提出改变整个架构的建议,以实现更一致的设计。类似系统的数据库模式
我一直在想我的网站的喜欢系统,我不能确定接近它的最佳方式。我正在使用MySQL,现在,我有一个活动表,用于发表文章,图片,视频等的帖子,以及评论表,以供评论。你可以喜欢评论和活动帖子,所以我应该如何处理类似表格的列?我很乐意提出改变整个架构的建议,以实现更一致的设计。类似系统的数据库模式
只是做一个叫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
当然)。
我希望这可以帮助您了解如何为您的网站制作一个类似的系统:)
谢谢!那正是我几分钟前想的。 – Wiz 2012-08-08 03:01:00
@Wiz没问题,我很高兴它有帮助。 :) – Nathan 2012-08-08 03:04:27