5

我正在开发一个 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);
4

2 回答 2

13

需要是这样的:

($stars_1 + $stars_2 * 2 + $stars_3 * 3 + $stars_4 * 4 + $stars_5 * 5) / $total_votes;
于 2012-03-19T10:16:16.473 回答
2

您需要将星数乘以实际评分。像

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

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

问候

于 2012-03-19T10:16:16.050 回答