$result = mysql_query("SELECT AVG(rating) FROM ratings GROUP BY page_id WHERE page_id = '$pageid'");
$rating_for_page = mysql_fetch_row($result);
$rating = $rating_for_page[0];
请注意,我假设每个评级都存储为单独的行
2
如果您收集单个功能的评级,让我们说FeatureX并放在列中,让我们说FCOLX,那么您可以:
使用内置的Mysql AVG()函数
获取所有值并计算php脚本中的平均值 .
计算平均值通常如下:
$myRatings = $dbHandler->fetch(); //generic fetch
$totalRatings = count($myRatings);
$sum = 0;
foreach($myRatings as $index=>$rating){
$sum+=$rating['FCOLX']; //where FCOLX is the column where you have the user rating [1-10];
}
$average = 0;
if($totalRatings>0){
$average = $sum/$totalRatings;
}
3 回答
您希望在每次页面崩溃时存储评级 . 因为如果你只是将平均评分存储在一列中,例如
要确定它并不容易:
有多少用户评分
评级的分布(例如,投票数为10)
并且您不能允许用户更改他们的评级,因为所有内容都被平铺成一行 . 如果使用MYSQL中的平均函数,则可以不使用第二个表
请注意,我假设每个评级都存储为单独的行
如果您收集单个功能的评级,让我们说FeatureX并放在列中,让我们说FCOLX,那么您可以:
使用内置的Mysql AVG()函数
获取所有值并计算php脚本中的平均值 .
计算平均值通常如下:
得出的平均值将是您使用的1-10的等级 .
对于评级而言,简单的平均值本身并不是很好 . 例如,如果一百人投票平均为8.5,那么只有一个人在其他投票上投票10会给它一个更好的排名 .
前段时间我曾经问过你可能感兴趣的事情 .