-3

このコードがTOTALの最後の収益を表示するだけで収益を合計できないのはなぜですか?適切に合計する方法は?

<table border="1">
    <tr>
       <th>Date</th>
      <th>Route</th>
      <th>Destination</th>
      <th>Van No.</th>
      <th>Waybill No.</th>
      <th>Charge Invoice</th>
      <th>Revenue</th>
      <th>Strip/Stuff</th>


    </tr>

  <?php do { ?>
    <tr>

      <td><?php echo $row_PK['delivery_details_date']; ?></td>
      <td><?php echo $row_PK['delivery_details_route']; ?></td>
      <td><?php echo $row_PK['delivery_details_destination']; ?></td>
      <td><?php echo $row_PK['delivery_details_van_no']; ?></td>
      <td><?php echo $row_PK['delivery_details_waybill_no']; ?></td>
      <td><?php echo $row_PK['delivery_details_charge_invoice']; ?></td>
      <td><?php echo $row_PK['delivery_details_revenue']; ?></td>
      <td><?php echo $row_PK['delivery_details_strip_stuff']; ?></td>

     <?php $revenue = $row_PK['delivery_details_revenue'];
      $sum += $revenue;?>

        </tr>  
          <?php } while ($row_PK = mysql_fetch_assoc($PK));?>





      </table>

TOTAL: <?php echo $revenue; ?> <br/>

TOTALは、最後に記録された収益を表示するだけで、すべてを追加するわけではありません。なぜですか?

4

1 に答える 1

0

最初に気付いたエラーの1つは、最後にロードされたデータである$revenue変数をエコーすることです...$ sumをエコーし​​てみてください。それが予期しない結果である場合は、forループの構造を確認できます。しかし、その変数スワップが唯一の問題かもしれません。

また、whileループの構造については、条件を上に配置する方が安全だと思います...これは機能する可能性がありますが、whileループを見ると、条件が上にあるので、一般的なものに従うことをお勧めします。大会。例えば

<?php
while ($row_PK = mysql_fetch_assoc($PK)) {
?>
//your code
<?php
 $revenue = $row_PK['delivery_details_revenue'];
      $sum += $revenue;
}
echo $sum;
?>
于 2013-01-13T01:31:15.120 に答える