我想只使用循环对表中的特定列求和。共有两个表:cars
和uteams
。我想从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
但是,我想输出这些值的总和。我该怎么做?
您可以简单地使用一个变量,并在每次迭代时不断添加:
$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;
获得每个速度的原因是因为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;