在MySQL结果集上执行计算时出现问题


Trouble performing calculations on MySQL result sets

我正试图计算每个记录的向上投票百分比。尽管每条记录的票数不同,但结果都是100%。为什么会发生这种情况?

$artistname = "SELECT * from voting";
$artistnameresults = mysql_query( $artistname ) or die( "Could not get video games " .mysql_error() );
for( $i = 0; $i < mysql_numrows( $artistnameresults ); $i++ ) {
    $data = mysql_fetch_array( $artistnameresults );
    echo "<div>". $data['artist'] ." has " . $data['votes'] ." votes ";
    if($total_votes > 0)
        $temp_votes = $data['votes']/$total_votes;
    else
        $temp_votes = 1;
    echo '( '.($temp_votes*100).'%)';
    echo "</div>'n";
}

$total_votes中没有任何内容。

$total_votes = $data['whatever_total_votes_is_here'];
if($total_votes > 0)
        $temp_votes = $data['votes']/$total_votes;
    else
        $temp_votes = 1;

如果你还没有$data中的总投票数,那么你将不得不做一个计数或长度来计算数字。

将其传递给total_votes,这样就可以对其进行检查