我在我的网站上得到了一个投票和5个星级的评价:
1 star - 1 (worst)
2 stars - 2
3 stars - 3
4 stars - 4
5 stars - 5 (best)现在,我应该如何在MySQL中存储调查记录?如何计算?默认值是5,但如果用户给它打1星,它应该将这个值改为1,然后开始以某种方式计算它……首先,我需要一个关于如何在我的数据库中存储投票的想法。你可能对此有更多的经验。
发布于 2012-06-08 19:18:52
将投票存储在一个单独的表中,这样您就可以记录谁投票了。
现在,user_id, topic_id , vote, date就足够了。计算所有票数除以与该主题相关的总票数是很容易的。这将为您提供平均值。如果你想让它显示为1-5,你可以round()它。为了避免每次加载主题时都执行此计算,您可以将其存储在topic表的字段中,并在每次从votes表中添加/删除记录时更新该字段。
发布于 2012-06-08 19:16:40
只需将投票存储在表中的整数字段(1到5)中,并结合其他信息(例如,以确保用户只能投票一次)。
当你想要显示结果时,你可以使用投票结果,例如计算平均值或其他统计数据。在每次投票后重新计算(并存储)统计数据也是可能的,但实际上并不是必需的,除非您的页面浏览量比投票的页面浏览量多得多,这可能会导致更少的资源使用。(当然,这也取决于静态计算的复杂性)
https://stackoverflow.com/questions/10947719
复制相似问题