我创建了一个外部函数(下面的代码),它计算平均评分,然后将该评分回显到动态表中的主页。此函数位于调用它的页面上的 do-while 循环内。我已将问题缩小到 msql_fetch_assoc 变量"$row_RatingResults"
。在通过主页面循环的第一次迭代后,它不会返回有效变量,这意味着该函数返回的第一个值是正确计算的,但在通过循环的第一次迭代后,由于没有返回值,因此会出现除以零的错误$row_RatingResults
。被调用的 $ID 变量来自主页(显然)并且本身来自mysql_fetch_assoc (i.e. $ID="rt_".$row_rsResults['outlineID'];)
代码粘贴在下面......这里的任何帮助将不胜感激。为了安全起见,我已经标记了一些地方,但知道这确实可以正确连接到 mysql。
<?php
// contact to database
require_once('*****');
mysql_connect("localhost", "*****", "*****") or die ("Error , check your server connection.");
mysql_select_db("*****");
require_once("*****");
function CalculateRating($ID)
{
$query_RatingResults = "SELECT * FROM rtgitems WHERE (item = '$ID')";
$RatingResults = mysql_query($query_RatingResults) or die(mysql_error());
$row_RatingResults = mysql_fetch_assoc($RatingResults);
$TRate=$row_RatingResults['totalrate'];
$NoRates=$row_RatingResults['nrrates'];
$finalrate=$TRate/$NoRates;
echo $finalrate;
}
?>