[英]How to get total during a foreach
我正在學習PHP,並嘗試輸出“價格”列的總計。
現在是這樣的: http : //imgur.com/X00o4jS
這是代碼:
while($row = $result->fetch_array()){
$rows[] = $row;
}
foreach($rows as $row){
$food = $row["food"];
$price = $row["price"];
$id = $row['id'];
if(!empty($_POST[$id])){
$qtyPrice = $price * $_POST[$id];
$qty = $_POST[$id];
}
echo "<tr>
<td>$food</td>
<td>$qty</td>
<td>$$qtyPrice</td>
</tr>";
}
在開始循環之前設置一個變量,並在其中添加qtyPrice。 退出循環后打印該變量
$total = 0;
foreach($rows as $row){
$food = $row["food"];
$price = $row["price"];
$id = $row['id'];
if(!empty($_POST[$id])){
$qtyPrice = $price * $_POST[$id];
$total += $qtyPrice;
$qty = $_POST[$id];
}
echo "<tr>
<td>$food</td>
<td>$qty</td>
<td>$$qtyPrice</td>
</tr>";
}
echo $total;
無需執行2個循環。 您將使用第一個while循環設置數組,然后使用第二個foreach循環來讀取數組並顯示數據。
使用while循環直接生成html表會更有效。
您可以使用$total += $qtyPrice (same as $total = $total + $qtyPrice)
。 只要記住在循環之前將其設置為0即可。
$total = 0;
while($row = $result->fetch_array()){
$food = $row["food"];
$price = $row["price"];
$id = $row['id'];
if(!empty($_POST[$id])){
$qtyPrice = $price * $_POST[$id];
$qty = $_POST[$id];
$total += $qtyPrice;
echo "<tr>
<td>$food</td>
<td>$qty</td>
<td>$$qtyPrice</td>
</tr>";
}
//display the total in its separate row
echo "<tr><td>Total:</td><td></td><td>$total</td></tr>";
希望這可以幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.