确定。这是我到目前为止的代码......
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" />';
}
我要做的是创建一个名为“rating”的数据库值数组,对该数组中的值进行平均,然后我想将这些值向上舍入。因此,例如,如果这些值的平均值最终为3.7,则平均值将变为4。
从那里我可以将结果应用到代码中...我现在正在使用我的阵列遇到很多麻烦。我现在得到的错误是......
警告:mysql_fetch_assoc():提供的参数不是有效的MySQL
中的结果资源
有人能指出我正确的方向吗?
答案 0 :(得分:2)
你的问题在这里:
$userrating = mysql_query($userratingquery) or die('SQL Error :: '.mysql_error());
$userrating = array();
您正在将$ userrating变量重置为数组,因此当您尝试获取mysql行时,$ userrating mysql结果不再有效。
为$ userrating数组使用不同的变量名,或者为mysql结果使用另一个变量名。