亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

foreach 未執行 - 僅顯示第一個變量輸入

foreach 未執行 - 僅顯示第一個變量輸入

PHP
素胚勾勒不出你 2022-05-27 15:42:41
我試圖弄清楚為什么我的 foreach 循環沒有提供多個變量(第一個變量) - 我正在嘗試創建一個電子商務網站,這是我的購物車的保存功能。兩個 sql 語句都是正確的并進入我的數據庫。有兩個表 - 一個發票表和另一個表,我將顯示訂購的產品。我正在使用重置功能來獲取我在另一個功能中上傳的圖像的 ID。有人有什么想法嗎?public static function submit(){            $nOrderNum = date("Y-m-d").mt_rand();    $orderDate = date("Y-m-d h:m:s");    $firstname = $_POST["firstname"];    $lastname = $_POST["lastname"];    $email = $_POST["email"];    $phone = $_POST["phone"];    $address = $_POST["address"];    $imgID = AllMerch::getImgs();    $orderToggle = 0;    $value = reset($imgID);    $con = Db::connect();    mysqli_query($con,"    INSERT INTO invoice     (        nOrderNum,         strOrderDate,         strName,         strLast,         strEmail,         nPhone,         strAddress,         nPrice,         bOrderToggle        ) VALUES (            '".$nOrderNum."',             '".$orderDate."',             '".$firstname."',             '".$lastname."',            '".$email."',            '".$phone."',            '".$address."',            '".Cart::checkoutTotal()."',            '".$orderToggle."'            )");        $invoiceID =  mysqli_insert_id($con);    foreach($_SESSION["arrCart"] as $merch){            mysqli_query($con,"        INSERT INTO merch_history         (            nInvoiceID,            nProductsID,            nQty,            nPrice,             nImgID        ) VALUES (            '".$invoiceID."',            '".$merch["id"]."',            '".$merch["currentQty"]."',            '".$merch["price"]."',            '".$value."'        )");        $sql = "UPDATE products SET nQty = nQty - '".$merch["currentQty"]."' WHERE id = '".$merch["id"]."'";        $sql = "UPDATE images SET nInvoiceID = '".$invoiceID."' WHERE nSessionID = '".$_SESSION['id']."'";}}
查看完整描述

2 回答

?
守著一只汪

TA貢獻1872條經驗 獲得超4個贊

這樣做是因為最后 2 個語句在循環中,如我所示將它們取出:


    foreach($_SESSION["arrCart"] as $merch){        


        mysqli_query($con,"

            INSERT INTO merch_history 

            (

                nInvoiceID,

                nProductsID,

                nQty,

                nPrice, 

                nImgID

            ) VALUES (

                '".$invoiceID."',

                '".$merch["id"]."',

                '".$merch["currentQty"]."',

                '".$merch["price"]."',

                '".$value."'


            )");


            $sql = "UPDATE products SET nQty = nQty - '".$merch["currentQty"]."' WHERE id = '".$merch["id"]."'";


            $sql = "UPDATE images SET nInvoiceID = '".$invoiceID."' WHERE nSessionID = '".$_SESSION['id']."'";


            mysqli_query($con,$sql);


            $sql = "SELECT 

            merch_history.id, 

            merch_history.nInvoiceID, 

            merch_history.nProductsID, 

            merch_history.nQty, 

            merch_history.nPrice, 

            images.id AS imgID,

            images.strImage AS strImg

            FROM merch_history 

            LEFT JOIN images ON  images.id = merch_history.nImgID 

            ";

    }



$_SESSION['arrCart'] = array();

return $invoiceID;


查看完整回答
反對 回復 2022-05-27
?
鴻蒙傳說

TA貢獻1865條經驗 獲得超7個贊

您的退貨$invoiceID; 在 for 循環內,請嘗試在循環外將其刪除。



查看完整回答
反對 回復 2022-05-27
  • 2 回答
  • 0 關注
  • 154 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號