簡體   English   中英

如何在求教期間獲得總計

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM