首页 > 解决方案 > 如果尺寸不同,请在购物车详细信息中分开产品

问题描述

我正在开发一个项目,它是鞋子和服装的在线商店。如果尺寸不一样,我如何分开产品。正如您在屏幕截图(下面的链接)上看到的那样,我添加了 Nike LeBron 15 'New Heights' 尺码 6。现在,假设我将为该尺码添加另一个数量,2 个数量,然后它会自动将数量更新为 3。再次,假设我将添加 Nike LeBron 'New Heights' 尺码 7。现在的问题是,如果我添加了 Nike LeBron 'New Heights' 尺码 7,如何在购物车内容中显示(见下图)?我已经尝试了下面的代码,但它只看到了 Nike LeBron 15 'New Heights' Size 6。

截屏:

https://ibb.co/e5k9KS

我试过的:

//Add to Cart button
<button id="add_to_cart<?=$row['product_id']?>" onclick="add_to_cart('<?=$row['product_id']?>', 'Add')" class="add_to_cart">
    <i class="fa fa-shopping-cart"></i> Add to Cart
</button>

//JQuery/Ajax
function add_to_cart(product_id, product_size, status) {
var quantity = $('#quantity'+product_id).val();
var button = (status === 'Delete') ? $('#add_to_cart'+product_id).html('<i class="fa fa-shopping-cart"></i> Add to cart') : $('#add_to_cart'+product_id).html('<i class="fa fa-check-square-o"></i> Added');
button,setTimeout(function(){
    var data = { action : 'Add To Cart', product_id : product_id, status : status, quantity : quantity, product_size : product_size };
    $.ajax({
        type: 'POST',
        url: '../pages/class.php',
        data: data,
        cache: false,
        dataType: 'json',
        success: function(data) {
            data.success == true ? successful(data.success,data.bgcolor,data.color,data.message) : successful(data.success,data.bgcolor,data.color,data.message);
        }
    });
    $('#add_to_cart'+product_id).html('<i class="fa fa-shopping-cart"></i> Add to Cart');
    show_cart_count();
    show_cart_contents();
    show_cart_content_in_cart_page();
    show_cart_content_in_checkout_page();
    show_cart_total();
},300);

}

//Here's the class.php
if(isset($_POST['action']) && !empty($_POST['action'])) {
    $action = $_POST['action'];
    switch($action) {
       case 'Add To Cart':
          $product_id = $_POST['product_id'];
          $product_size = $_POST['product_size'];
          $quantity = $_POST['quantity'];
          $status = $_POST['status'];
          add_to_cart($product_id, $product_size, $quantity, $status);
       break;
    }
}

//add_to_cart function
function add_to_cart($product_id, $product_size, $quantity, $status) {
        GLOBAL $db_conn;
        $search_query = "SELECT p.*, pe.*, pct.* FROM tblproduct p JOIN (SELECT p.product_id, MIN(pe.product_extension_id) AS product_extension_id FROM tblproduct p LEFT JOIN tblproduct_extension pe ON pe.product_id = p.product_id WHERE p.product_id='$product_id' GROUP BY product_id) product_unique LEFT JOIN tblproduct_extension pe ON pe.product_extension_id = product_unique.product_extension_id LEFT JOIN tblproduct_carousel pct ON pct.product_id = p.product_id WHERE p.product_id = product_unique.product_id";
        $query = mysqli_query($db_conn, $search_query);
        $row = mysqli_fetch_array($query);

        if(isset($product_id)) {
              switch ($status) {
                 case 'Add':
                          if(isset($_SESSION['item_cart'][$product_id]['product_id']) == $product_id &&  isset($quantity)) {
                                $_SESSION['item_cart'][$product_id]['product_qty'] += $quantity;
                                $qty = ($quantity == 1)  ?  'quantity' : 'quantities';
                                notify([true,'#222','#fff',$row['product_name']. ' ' .'has been readded with '.$quantity.' '.$qty. '.']);
                          } else {
                                $count = (!isset($_SESSION['item_cart'])) ? 0 : count($_SESSION['item_cart']);
                                $add_quantity = (isset($quantity)) ? $quantity : 1;
                                $_SESSION['item_cart'][$product_id][$product_size] = array(
                                      "product_id"=>$product_id,
                                      "product_qty"=>$add_quantity, 
                                      "product_size"=>$product_size,
                                      "product_price"=>$row['product_price'],
                                      "product_name"=>$row['product_name'],
                                      "product_segment"=>$row['segment_id'],  
                                      "product_image"=>$row['product_images'],
                                      "product_brand"=>$row['product_brand'],
                                      "product_stocks"=>$row['product_stocks'],
                                      "product_category"=>$row['category_name']
                                );
                                notify([true,'#222','#fff',$row['product_name']. ' ' .'has been added.']);
                          }
                    break;
              }
        }
  }

标签: javascriptphpjquery

解决方案


推荐阅读