从循环中的表中求和值

时间:2014-11-07 23:38:09

标签: php mysql

我想只使用一个循环来汇总表格中的特定列。有两个表:carsuteams。我想计算团队中所有用户的cars总速度。

这是我尝试过的:

function tspeed($team)
{
    $sql = mysql_query("SELECT * FROM `uteams` WHERE tid='$tid'");
    while ($row = mysql_fetch_array($sql))
    {
        $veh = get_uacar($row['uid']);
        $speed = get_tspeed($row['uid']);
        echo '' . $speed . '';
    }
}

get_tspeed($row['uid'])获得一个用户的速度。

$veh = get_uacar($row['uid']);开车了。

我的输出是

  

100 150 120

但是,我想输出值的总和。我怎么能这样做?

2 个答案:

答案 0 :(得分:1)

您可以简单地使用变量并在每次迭代时继续添加变量:

$total_speed = 0;

while ($row = mysql_fetch_array($sqle)) {
    $veh = get_uacar($row['uid']);
    $speed = get_tspeed($row['uid']);
    $total_speed += $speed;        // ADD SPEED TO TOTAL
    echo '' . $speed . '';
}

echo "Total Speed: " . $total_speed;

答案 1 :(得分:0)

您获得每个速度的原因是因为您的while循环中有echo $speed

到目前为止,您还没有为$ speed设置一个值,而且每次循环都会删除它。另外,你不能添加任何东西。这可能会有所帮助:

$speed = 0;
$sqle = mysql_query("SELECT * FROM uteams WHERE tid='$tid'");
while($row = mysql_fetch_array($sqle)) {
   $veh = get_uacar($row['uid']);
   $speed += get_tspeed($row['uid']);
}
echo $speed;