簡體   English   中英

如何用php中的金額更新購物車數量?

[英]How to update shopping cart quantity with amount in php?

以下是我無法正常工作的源代碼? 我想更新與該特定項目的數量並計算總數。 我被卡住或編碼錯誤。 請誰能告訴我做什么? 表示當用戶增加該項目的數量價格時應增加。

         $sel_user = "select * from cart where ip_add = '$ip' ";

            $run_sel_user = mysqli_query($con,$sel_user);

            while($p_price = mysqli_fetch_array($run_sel_user))
            {
                $pro_id = $p_price['p_id'];

                $sel_pro_from_product = "select * from products where product_id = '$pro_id'";

                $run_pro_from_product = mysqli_query($con,$sel_pro_from_product);

                while($pro_price = mysqli_fetch_array($run_pro_from_product))
                {

                    $product_price = array($pro_price['product_price']);

                    $product_title = $pro_price['product_title'];

                    $product_image = $pro_price['product_img1'];

                    $product_single_price = $pro_price['product_price'];

                    $values = array_sum($product_price);

                    $total += $values ;
                    if(isset($_POST['update_cart']))
                    {
                        if(isset($_POST['qty']))
                        {
                            print_r($_POST['qty']);
                            foreach($_POST['qty'] as $qty_add)
                            {

                                $qty = $qty_add;
                                $update_qty = "update cart set qty='$qty' where p_id='$pro_id'";
                                $run_qty = mysqli_query($con,$update_qty);
                                $total=$total*$qty;
                            }
                        }
                        else
                        {

                        }
                    }

            ?>
            <tr align="center" >
                <td style="padding:5px; border:1px solid black;"><input type="checkbox" name="remove[]" value="<?php echo $pro_id;?>"/></td>

                <td style="padding:5px; border:1px solid black;"><?php echo $product_title;?><br>
                    <img src="admin_area/product_images/<?php echo $product_image; ?>" height="60" width="60"/>
                </td>
                <td style="padding:5px; border:1px solid black;"><input type="text" size="4" name="qty[]" 
                    value="<?php
                            $default_qty = 1;
                            if(!isset($_POST['qty']))
                            {
                                echo $default_qty;
                            }


                    ?>" style="text-align:center;"/></td>


                        <td style="padding:5px; border:1px solid black;"><?php echo $product_single_price." Rs ";?></td>
                    </tr>
                    <?php   
                }}

                    ?>

您正在將輸入框的名稱設置為qty []數組,並且都針對購物車中的每個項目和該數組中的每個項目進行了循環。因此,如果購物車中有20個項目,則當前正在發送20x20查詢和19 20個中包含錯誤的信息。 而是可以使用$ pro_id變量設置輸入框的名稱。

<input type="text" size="4" name="qty<?php echo($pro_id);?>"/>

這樣,您的每個文本框都有其自己的唯一名稱,該名稱標識了它是哪種產品。 然后在上面的while循環中,您可以執行以下操作

if(isset($_POST['update_cart']))
{
    if(isset($_POST['qty' . $pro_id]))
    {
        $quantity = (int)$_POST['qty' . $pro_id];
        $run_qty = mysqli_query($con,"update cart set qty='$qty' where p_id='$pro_id'");
    }
}

但是,當然,按照現在的設置方式,無法知道購物車表中的哪些記錄屬於哪些用戶。 因此,如果不進行更多更改(例如,標識哪些記錄屬於哪個用戶的字段),這在現實世界的設置中將不起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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