我甚至不知道我应该问什么问题。那么,我想为我的评论创建一个赞,但不知道如何或什么是最好的方式。我是否只是创造一个新的领域赞成?如何评论评论的工作?
回答
如果您需要跟踪谁在投票什么的,你或许应该做一个Votes
表:
vote_id
:主键。user_id
:进行此投票的用户的ID。 [Users
表的外键。]comment_id
:表决的评论的ID。 [外键为Comments
表。]vote
:投了票(如果你只有一个微不足道的大拇指向上/向下系统,可能是+1或-1)。date
:投票时。
评论的得分现在只是列的所有列的总和,具有comment_id
。
请注意,与简单地向您的Comments
表中添加整数score
列不同,这具有告诉您评论正在经历的争议程度的优势。在不知道投了多少票的情况下,净评分为零的两条评论可能会经历很多争议(人们对评论的优点同样存在分歧,因此总得分徘徊在0附近),或根本没有(没有人关心足够的投票)。
vote_id实际上是不必要的,除非用户可以对同一评论发表多个投票。 –
@Can:我认为有可能做一些事情,比如一旦投票就收回你的投票,只有最后一个投票。 –
如果您使用MySQL(可能还有其他数据库),那么它将为您创建唯一的ID列,如果您没有创建一个。 –
这取决于你想要做什么。为什么不只在评论表上放置一个int
列,存储评论的上/下大拇指总数?
只是存储一个int数量的评论已被投票的次数将受到滥用。您可能还希望将每个投票与投射该投票的用户相关联,这样可以防止人们对相同评论重复投票。
为了这个工作,我想你需要一个单独的表格来进行投票。该表中的每条记录都应该有投票人的评论ID和用户ID。
按照Bill和John的建议,创建一个单独的表格可能是最好的方法。但出于性能方面的原因,您可能仍然希望将votes
列添加到comments
表中。这样,当您只想显示评论的投票计数时,您不需要访问votes
表。我相信这就是投票如何在SO上工作。
在您的评论表中创建2个字段,vote_up
和vote_down
,并在用户投票时相应增加其计数器,这样您可以将评分分数显示为这些值的总和或百分比,在后面的情况下,您可以添加第三个字段vote_score
存储百分比分数,如果你想能够按分数排序。
然后创建投票表,以防止用户投票两次同样的评论,永远或在给定的时间跨度,如果是只设置cron作业每天运行一次,并删除条目年纪比time()-(86400 * DAYS_TO_KEEP_VOTE)
- COMMENT_ID
- user_id说明
- vote_time
好运。
- 1. fb:comments - 如何评论评论
- 2. 评论评论
- 3. 包/评论评论
- 4. 如何使用Django的评论框架评论评论
- 5. Facebook的评论|我如何在发布前评论评论
- 6. 评论评论标记(嵌套评论)
- 7. 如何使用评论框评论框使用评论系统
- 8. 在网站上工作但评论工具=空的FB评论
- 9. 如何批量评论gerrit评论?
- 10. 评论:如何评论 - 或 - >
- 11. Facebook的评论不工作
- 12. htaccess的评论不工作
- 13. 评论和子评论
- 14. Facebook评论:全部评论
- 15. MySQL工作台。分号之后的评论之前的评论?
- 16. 作出评论
- 17. 如何使回复评论引用评论的ID在论坛
- 18. 评论没有工作
- 19. 评论:SSR不工作
- 20. Disqus评论数不工作
- 21. 评论mustache.js icanhaz不工作?
- 22. FB评论框不工作
- 23. Conditional IE评论评论不工作在Joomla
- 24. 评论展开/折叠不与评论工作更多/更少
- 25. Facebook的评论框:FQL为“总评论和回复”中评论
- 26. Magento - 在评论中给产品的评论添加评论
- 27. Facebook评论插件如何工作?
- 28. 评论工具/库
- 29. Facebook的评论意见,评论
- 30. 重复评论Facebook的评论框
提示:提问时,提供一些背景。例如,当你说“你的评论”时,你的意思是说你正在为一个论坛或某些数据库存储评论,并且想要添加某种赞许字段?花多一点时间以智能,周到的方式说出你的问题将会使其他人更加关注你的问题。如果你不能写一个好问题,我们可能不会花时间写出一个好的答案。 –