2011-10-17 12 views
0

例如,在另一个查询的while循环内查询中,有一个mysql_num_rows结果为4,8,15,16,23,42。我的问题是如何获得我的while循环中每个mysql_num_rows结果的百分比?例如:4,8,15,16,23,42。总和为108. $ sum = 108. 4 = 4/$ sum = 3.7%,8 = 8/$ sum = 7.4%等等。在while循环中获取总百分比

+0

如果你发布了你的代码,我敢打赌你会得到一个代码的答案,这可能是有用的。 :-) – ghbarratt

+0

[在while循环中添加mysql_num_rows的总数]的可能重复(http://stackoverflow.com/questions/7788910/adding-up-total-of-mysql-num-rows-in-a-while -循环) – animuson

回答

1

您可以将所有值存储在数组中并执行你已经从数据库中

$datastore = array(); 
$total = 0; 

while(list($amount) = mysql_fetch_row($result)) { 
    $datastore[] = $amount; 
    $total += $amount; 
} 

foreach ($datastore as $amount) { 
    echo $amount," - "; 
    printf("%5.2f", $amount/$total); 
    echo "\r\n"; 
} 
0
$values = array(4, 8, 15, ...); 

$sum = array_sum($values); 

foreach($values as $value) { 
    echo ($value/$sum) * 100; 
} 

CodePad检索的数据后Calcs(计算)。

0

所以你说你想在个人结果之前获得$总和吗?你可以做一个简单的附加查询来获得总和,然后再取出单个结果。使用SUM聚合函数。也可能在SQL结果中获得百分比。这意味着一个稍微复杂的查询,但不是一个额外的查询。