Php 从MySQL查询创建一个数组,对该数组的值求平均值,然后将该平均值四舍五入

Php 从MySQL查询创建一个数组,对该数组的值求平均值,然后将该平均值四舍五入,php,mysql,arrays,Php,Mysql,Arrays,嗯。这是我到目前为止的代码 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_fetc

嗯。这是我到目前为止的代码

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" />';
}
mysql\u查询($userrating);
$userratingquery=“从用户\评级中选择评级,其中用户\ id=$sellerid”;
$userrating=mysql\u query($userratingquery)或die('SQL错误::'.mysql\u错误());
$userrating=array();
而(($row=mysql\u fetch\u assoc($userrating))){
$rating[]=$row['rating'];
}
如果(!empty($userrating)){
$averagerating=数组和($userratingary);
打印(用户比率);
}否则{
回声';
}
我要做的是创建一个名为“rating”的数据库值数组,对该数组中的值求平均值,然后对这些值进行取整。例如,如果这些值的平均值最终为3.7,那么平均值将变成4

从那里我可以将结果应用到代码中。。。我现在的阵列有很多问题。我现在得到的错误是

警告:mysql\u fetch\u assoc():提供的参数不是有效的mysql 产生资源

有人能给我指出正确的方向吗?

你的问题在这里:

$userrating = mysql_query($userratingquery) or die('SQL Error :: '.mysql_error());
$userrating = array();
您正在将$userrating变量重置为数组,因此当您尝试获取mysql行时,$userrating mysql结果不再有效


为$userrating数组使用不同的变量名,或者为mysql结果使用另一个变量名。

你是对的。谢谢我还意识到,在while循环中,我没有将数组变量设置为我最初指定的同一个变量。这也是阵列没有被创建的原因。