0

我有这个代码

while($row=mysql_fetch_array($qu2)){
    $login_time=$row[login_time];
    $logout_time=$row[logout_time];
    $totlawork=($logout_time)-($login_time);
    $lossawork=($login_time)-('08:00:00');   

    echo '<tr>';
    echo '<td class="xtd"><div align="center">'.$cnt.'</div></td>';
    echo '<td class="xtd"><div align="center">'.$row[full_name] .'</div></td>';
    echo '<td class="xtd"><div align="center">'.$row[salary].'</div></td>';
    echo'<td class="xtd"><div align="center">'.$totlawork.'</div></td>';
    echo '<td class="xtd"><div align="center">'.$lossawork.'</div></td>';
    echo '</tr>';

    $cnt++;
}

我不会在所有记录上获得 $lossawork 的总和我该怎么做

4

4 回答 4

2
$lossawork_total = 0; // set total to 0
while($row=mysql_fetch_array($qu2)){
    $login_time=$row[login_time];
    $logout_time=$row[logout_time];
    $totlawork=($logout_time)-($login_time);
    $lossawork=($login_time)-('08:00:00');     
    echo '<tr>';
    echo '<td class="xtd"><div align="center">'.$cnt.'</div></td>';
    echo '<td class="xtd"><div align="center">'.$row[full_name] .'</div></td>';
    echo '<td class="xtd"><div align="center">'.$row[salary].'</div></td>';
    echo'<td class="xtd"><div align="center">'.$totlawork.'</div></td>';
    echo '<td class="xtd"><div align="center">'.$lossawork.'</div></td>';
    echo '</tr>';
    $cnt++;
    $lossawork_total += $lossawork; // add this lossawork to total
}
echo $lossawork_total; // display total
于 2012-06-01T12:20:56.550 回答
1

在循环结束时,将 lossawork 添加到另一个计数器并在页面上显示该计数器,它会在循环运行时为您添加所有 lossawork。

于 2012-06-01T12:19:38.970 回答
1

在 while 循环之外使用一个变量,这里是 ( $sum)

$sum = 0;

while(...){
...
...
...
...

$sum += $lossawork;

}

echo $sum;
于 2012-06-01T12:19:48.697 回答
1

问题中需要更多代码才能完全回答,但根据我对问题的理解,您想要的可以实现如下:

//Declare a variable to store the sum and initialize it to 0
$sum_lossawork = 0;

while($row=mysql_fetch_array($qu2)){

    ...
    ...
    $lossawork= ...

    //For each row in the data set add $lossawork to the sum
    $sum_lossawork += $lossawork;

    ...
    ... 

    $cnt++;
}

echo $sum_lossawork;
于 2012-06-01T12:20:49.460 回答