我有一个网站随机从数据库中选择一个条目,然后将其显示给用户。我想添加一个“评价最高”的页面,在该页面上显示由用户意见汇总选择的最佳条目。我想在stackoverflow和许多其他网站上看到投票和投票。
我对网络开发不是很有经验,所以我不知道从哪里开始。我的想法是单击“向上”将在表中的“投票”字段中添加1并单击“向下”将从同一字段中减去一个,并且我将它们与“id”字段一起绑定关于哪个参赛作品被投票的参考资料。有更优雅的解决方案吗?我该如何开始?
编辑:我的服务器端脚本是用PHP编写的,我熟悉jquery。
编辑2:重读后,我意识到这个问题有多广泛。抱歉!具体来说,我想知道如何编写PHP和mySQL所需的代码,以便在不刷新页面的情况下在“投票”表中添加和减去投票。
答案 0 :(得分:0)
您会注意到SO会记住您投票的哪些文章以及您的投票方式,因此有一个表格将投票项目,投票人员以及投票结果联系在一起。 SQL中的聚合函数可用于计算此连接表的投票数。
请注意,如果您用来计算“顶级项目”的功能很昂贵(例如,如果您有很多项目等),那么您可能需要修改查询并可能希望将结果缓存为在再次计算之前的合理时间段。
答案 1 :(得分:0)
没有看过它,但它应该覆盖它:)
http://ad1987.blogspot.com/2009/02/reddit-style-voting-with-php-mysql-and.html
altl你可以去google.com,输入“ajax php mysql”并按下我很幸运。
显示您应该考虑使用贝叶斯算法的最高投票问题,这样您就不会得到只有一票或多数投票的热门问题。
没有再读它,但这可能会有所帮助(页面中间的sql查询看起来不错)http://www.andymoore.ca/2010/02/bayesian-ratings-your-salvation-for-user-generated-content/