0

目前我正在做一个书店系统。与亚马逊等其他购物车几乎相似。我的问题是如何应用多个用户在购物车上添加产品。我确实有登录会话,并且我为每个用户登录设置了 MM_username。但是当用户将产品添加到购物车时,它只显示一个用户的名称。

这是下面的代码

        if(isset($_POST["place_order"]))
        {
            $insert_order = "
            INSERT INTO tbl_order(customer_id, creation_date, order_status)
            VALUES(103, now(), 'pending')
            ";
            $order_id = "";
            if(mysqli_query($connect, $insert_order))
            {
                $order_id = mysqli_insert_id($connect);
            }
            $_SESSION["order_id"] = $order_id;
            $order_details = "";
            foreach($_SESSION["shopping_cart"] as $keys => $values)
            {
                $order_details .= "
                INSERT INTO tbl_order_details(order_id, product_name, product_price, product_quantity)
                VALUES('".$order_id."', '".$values["product_name"]."', '".$values["product_price"]."', '".$values["product_quantity"]."');
                ";
            }
            if(mysqli_multi_query($connect, $order_details))
            {
                unset($_SESSION["shopping_cart"]);
                echo '<script>alert("You have place an order...your order status will be inform through phone call within maximum 3 days..Thank you")</script>';
                echo '<script>window.location.href="cart.php"</script>';
            }
        }

        if(isset($_SESSION["order_id"]))
        {
            $customer_details = '';
            $order_details = '';
            $total = 0;
            $query = '
            SELECT * FROM tbl_order
            INNER JOIN tbl_order_details
            ON tbl_order_details.order_id = tbl_order.order_id
            INNER JOIN tbl_customer
            ON tbl_customer.CustomerID = tbl_order.customer_id
            WHERE tbl_order.order_id = "'.$_SESSION["order_id"].'"
            ';
            $result = mysqli_query($connect, $query);
            while($row = mysqli_fetch_array($result))
            {
                $customer_details = '
                <label>'.$row["CustomerName"].'</label>
                <p>'.$row["Address"].'</p>
                <p>'.$row["City"].', '.$row["PostalCode"].'</p>
                <p>'.$row["Country"].'</p>
                ';
                $order_details .= "
                    <tr>
                        <td>".$row["product_name"]."</td>
                        <td>".$row["product_quantity"]."</td>
                        <td>".$row["product_price"]."</td>
                        <td>".number_format($row["product_quantity"] * $row["product_price"], 2)."</td>
                    </tr>
                ";
                $total = $total + ($row["product_quantity"] * $row["product_price"]);
            }
            echo '
            <h3 align="center">Order Summary for Order No.'.$_SESSION["order_id"].'</h3>
            <div class="table-responsive">
                <table class="table">
                    <tr>
                        <td><label>Customer Details</label></td>
                    </tr>
                    <tr>
                        <td>'.$customer_details.'</td>
                    </tr>
                    <tr>
                        <td><label>Order Details</label></td>
                    </tr>
                    <tr>
                        <td>
                            <table class="table table-bordered">
                                <tr>
                                    <th width="50%">Product Name</th>
                                    <th width="15%">Quantity</th>
                                    <th width="15%">Price</th>
                                    <th width="20%">Total</th>
                                </tr>
                                '.$order_details.'
                                <tr>
                                    <td colspan="3" align="right"><label>Total</label></td>
                                    <td>'.number_format($total, 2).'</td>
                                </tr>
                            </table>
                        </td>

是的,我知道我不应该将 103 作为 customer_id,我知道这就是它只会读取 103 用户的原因,但我尝试了很多方法,包括过滤 MM_username、''、$value 等等。但它没有用。

4

0 回答 0