【问题标题】:PHP average rating systemPHP平均评分系统
【发布时间】:2013-11-26 04:49:51
【问题描述】:

我正在建立一个网站,人们可以在该网站上以 1-5 的等级对其他用户个人资料进行评分。

我的问题是:

如何计算用户收到的每个评分的平均值。然后根据用户的平均评分,给他们一个排名数字。平均评分最高的用户排名第一,以此类推。

【问题讨论】:

  • 你在哪里存储这些数据,你有数据库吗?最好让数据库在检索数据时对数据进行平均和排序。
  • 我对 PHP 了解不多,但我使用的是 MySQL 数据库
  • 我对 PHP 真的很缺乏经验,所以如果你能给我一些直截了当的黑白答案就好了。
  • 是的,正如 Surabhil 建议的那样,您需要在 mysql 选择中使用 avg() 命令并在那里进行排序,或者通过其中一种 php 排序方法

标签: php system rating rank


【解决方案1】:

有一个表 users_ratings 和列 user_id 和 rating

插入新评级。

$sql = "INSERT INTO users_ratings SET user_id=$user_id, rating=$rating"

检索按平均评分排序的用户和平均评分(最高优先)。

$sql = "SELECT user_id, avg_rating AS AVG(rating) FROM users_ratings GROUP BY user_id ORDER BY AVG(rating) DESC"

【讨论】:

  • 也许可以做到:ORDER BY avg_rating DESC - 我不确定,但AVG(rating) 肯定可以工作。
猜你喜欢
  • 2017-10-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-31
  • 1970-01-01
  • 2021-01-19
  • 1970-01-01
  • 2017-12-03
相关资源
最近更新 更多