如何计算星级评分系统的平均值?

时间:2012-03-19 10:12:35

标签: php vote

我正在开发一个拥有1-5颗星的星级评分系统。 在我的数据库中,我将它们保存为:

$stars_1 = 1;
$stars_2 = 6;
$stars_3 = 3;
$stars_4 = 11;
$stars_5 = 22;

$total_votes = 43

当用户使用例如3星投票时,我将stars_3更新为1,将total_votes更新为1。 然后我需要计算平均评分(星级)。

我现在这样做,但我不工作(结果似乎不对):

(($stars_1 + $stars_2 + $stars_3 + $stars_4 + $stars_4) / $total_votes);

2 个答案:

答案 0 :(得分:13)

需要像这样:

($stars_1 + $stars_2 * 2 + $stars_3 * 3 + $stars_4 * 4 + $stars_5 * 5) / $total_votes;

答案 1 :(得分:2)

您需要将星数乘以实际等级。像

$points_stars_2 = $stars_2 * 2  
...  
$points_stars_5 = $stars_5 * 5 

然后将它们全部添加到代码中的一个变量中,然后将其除以$total_votes

此致