在循环中获得总百分比

时间:2011-10-17 04:00:23

标签: php mysql

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

3 个答案:

答案 0 :(得分: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";
}

答案 1 :(得分:0)

$values = array(4, 8, 15, ...);

$sum = array_sum($values);

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

CodePad

答案 2 :(得分:0)

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