我曾問過這一次,但我沒有得到一個非常明確的答案。平均評級文字
我需要知道如何爲網站製作評級腳本。我有一個表格將十個評級提交給mysql。你將如何使用php從mysql列顯示平均評分?
有人建議有兩張桌子;一個用於所有評級,另一個用於每個頁面的平均評分。有沒有比這更簡單的方法?
我曾問過這一次,但我沒有得到一個非常明確的答案。平均評級文字
我需要知道如何爲網站製作評級腳本。我有一個表格將十個評級提交給mysql。你將如何使用php從mysql列顯示平均評分?
有人建議有兩張桌子;一個用於所有評級,另一個用於每個頁面的平均評分。有沒有比這更簡單的方法?
您將需要存儲每次頁面被拉伸時的評級。因爲如果你只是存儲的平均得分在一列,如
ratings (page_id, average_rating)
這是不容易確定:
而且您不能允許用戶更改他們的評級,因爲所有內容都已平鋪成一行。如果您使用的平均功能MYSQL
$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];
請注意,我假設每個等級存儲爲一個單獨的行
如果您收集評級爲單一功能,可以說FeatureX,地點在一列可以說FCOLX那麼你可以:
通常計算平均是這樣的:
$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;
}
結果得到的平均值將會爲你使用1-10規模。
簡單平均不是很好本身是一個可以沒有第二臺做評分。例如,如果有一百人投票平均8.5分,那麼只有一個人在其他事情上投10票會給它一個更好的排名。
前段時間我問了一個similar question,可能會讓您感興趣。
你知道你可以編輯你的問題,甚至可以給答案添加評論嗎? – goat 2010-04-24 17:46:20