我已经有一个5星评级系统在地方(用户投票1-5…和平均得分显示-我有一个页面,他们投票,它插入到数据库中有用户名和投票),但我现在想通过集成某种权重,它的功能只是为了增加您的投票对内容的平均得分的影响来提高它。这会让你的投票比其他情况下更“重要”。
我目前有一个$level (它是一个介于1-10之间的数字,每个用户的has...where 10是最高的,因此具有最大的效果),我想要考虑使用它。
我只是不确定该怎么做。
发布于 2011-11-03 12:13:14
如果用户有X级,您可以让他/她的投票重X级1票。您可以向表中添加另一个字段“权重”,并显示vote*weight的平均值
SELECT AVG(weight * vote)
FROM rating
WHERE item = ? (在哪里?是否需要id)
如果您认为这对于您的需求来说太复杂了(并且您已经存储了投票的用户),您可以使用以下查询:
SELECT AVG(r.weight * u.level)
FROM rating
JOIN user ON r.user_id = u.id
WHERE r.item = ?发布于 2011-11-03 12:12:32
要做到这一点,最简单的方法是在每个级别的DB中插入一张选票。
for($i = 0; $i < $level; $i++) {
store_vote($user, $item);
}https://stackoverflow.com/questions/7990172
复制相似问题