我有一个网站,从数据库中随机挑选一个条目,然后将其显示给用户。我想添加一个“最高评级”的页面上显示了由用户意见聚合选择的最好的项目。我想要在stackoverflow和许多其他网站上看到的向上和向下投票。
我对web开发不是很有经验,所以我不知道从哪里开始。我的想法是,单击“向上”将在表中的"votes“字段中添加1,而单击”向下“将从相同的字段中减去1,我将所有这些都与引用正在投票的条目的"id”字段绑定在一起。有没有更优雅的解决方案?我该如何开始?
编辑:我的服务器端脚本是用PHP编写的,我熟悉jquery。
编辑2:重读后,我意识到这个问题有多宽泛。抱歉的!具体地说,我想知道如何编写在不刷新页面的情况下向" votes“表添加和从”votes“表中减去投票所需的PHP和mySQL。
发布于 2010-08-25 23:33:50
你会注意到,SO记住了你对哪些文章投了票,以及你是如何投票的,所以有一个表将正在投票的项目、投票的人以及他们的投票结果联系在一起。
请注意,如果你用来计算“顶级项目”的函数是昂贵的(例如,如果你有很多项目,等等)然后,您可能需要修改您的查询,并且可能希望在重新执行计算之前将结果缓存一段合理的时间。
发布于 2010-08-26 03:01:11
我没有读过它,但它应该涵盖了它:)
http://ad1987.blogspot.com/2009/02/reddit-style-voting-with-php-mysql-and.html
或者你也可以去google.com,输入"vote up down ajax php mysql“,然后按下i'm feelink lucky。
为了显示投票最多的问题,你应该考虑使用贝叶斯算法,这样你就不会得到只有一票的热门问题。
我没有再读一遍,但这可能会有帮助(页面中间的sql查询看起来不错) http://www.andymoore.ca/2010/02/bayesian-ratings-your-salvation-for-user-generated-content/
https://stackoverflow.com/questions/3567591
复制相似问题