2012-11-24 119 views
0

好的。下面是代碼我到目前爲止...從MySQL查詢中創建一個數組,平均該數組的值,然後將該平均值加起來

mysql_query($userrating); 
$userratingquery = "SELECT rating FROM user_rating WHERE user_id=$sellerid"; 
$userrating = mysql_query($userratingquery) or die('SQL Error :: '.mysql_error()); 
$userrating = array(); 

while(($row = mysql_fetch_assoc($userrating))) { 
    $rating[] = $row['rating']; 
} 

if (!empty($userrating)) { 
    $averagerating = array_sum($userratingary); 
    print_r($userratingary); 
} else { 
    echo '<img src="images/star.png" class="ratingstar" /><img src="images/star.png" class="ratingstar" /><img src="images/halfstar.png" class="ratingstar" />'; 
} 

我試圖做的是創建一個名爲「評級」數據庫值的數組,平均是數組中的值,然後我要舍這些價值。因此,例如,如果這些值的平均值爲3.7,那麼平均值將變爲4.

從那裏我可以將結果應用到代碼中......我只是遇到了很多麻煩與我的陣列現在。我得到現在的問題是錯誤...

警告:mysql_fetch_assoc():提供的參數不是在

一個有效的MySQL 結果資源

有人能指出我在正確的方向?

回答

2

你的問題是在這裏:

$userrating = mysql_query($userratingquery) or die('SQL Error :: '.mysql_error()); 
$userrating = array(); 

要重設$ userrating變量數組,所以當你嘗試獲取一個MySQL行中$ userrating的MySQL結果不再有效。

爲$ userrating數組使用不同的變量名稱,或者爲mysql結果使用另一個變量名稱。

+0

你說得對。謝謝。我也意識到,在while循環中,我沒有將數組變量設置爲首先指定的相同變量。這也是數組沒有被創建的原因。 – Budove