[英]cart session to save products by size
我有这个代码可以将产品保存在购物车中。 我需要保存产品和尺寸 - 数量 x 价格。 此时正在存储产品名称、尺寸、数量和价格,但它显示同一行。 如果我添加“product1”尺寸 M 数量 1,如果我添加“product1”尺寸 S 数量 1,在购物车中我会得到“product1”尺寸 S(添加的最后一个尺寸)数量 1(但在 tquan 中我得到 2 个产品)。 那么我怎样才能让每个尺寸的产品都有另一排。
$_SESSION['CART']['order_token'] = $form_token;
$arrCart['id'] = $pID;
$arrCart['quantity'] = $_SESSION['CART']['PRODUCT'][$pID]['size']['quantity'] + $_POST['quantity'];
$chkQuan = mysqli_fetch_assoc(mysqli_query($link, "SELECT quantity FROM table WHERE id = '".$pID."'"));
$total =$_SESSION['CART']['tquan']+$_POST['quantity'];
$arrCart['pret'] = $_POST['product_price'];
$arrCart['size'] = $_POST['size'];
$_SESSION['CART']['tquan'] = $total;
$_SESSION['CART']['PRODUCT'][$pID] = $arrCart;
这部分用于展示购物车
if(isset($_SESSION['CART']) && $_SESSION['CART']!='')
{
$endsumm = '';
$product_total_price = '';
foreach($_SESSION['CART']['PRODUCT'] as $pID=>$pArr)
{
$prod = mysqli_fetch_assoc(mysqli_query($link, "SELECT * FROM table WHERE id='".$pID."'"));
$product_total_price = $pArr['quantity']*$pArr['pret'];
$endsumm += $pArr['quantity']*$pArr['pret'];
在将产品放入购物车之前,您应该检查产品是否已经在购物车中。
$total =$_SESSION['CART']['tquan']+$_POST['quantity'];
$arrCart['pret']= $_POST['product_price'];
$arrCart['size']= $_POST['size'];
$_SESSION['CART']['tquan'] = $total;
$_SESSION['CART']['PRODUCT'][$pID] = $arrCart
if(!in_array($pID, array_map(function($id){return $id[$pID];}, $_SESSION['CART']))){
if(!in_array($_POST['size'], array_map(function($size){return $size['size'];}, $_SESSION['CART']))){
//Here insert the product into the cart as you were inserted in the question
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.