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 

そして、それらすべてをコードのように 1 つの変数に追加し、それを で割ります$total_votes

よろしく

于 2012-03-19T10:16:16.050 に答える