【发布时间】:2014-02-16 18:06:25
【问题描述】:
我构建了一个购物车系统,其中每个可用商品都有多个选项。当客户将商品添加到购物车时,它将所选选项保存到该特定 ID 并显示在购物车中。
我的代码如下:
$optionsSelected = array();
if(!empty($_POST['productOption'])){
foreach($_POST['productOption'] as $options){
$optionsSelected[] = $options;
}
}
case "add":
$optionsSelected 数组 var_dumps() 为:
array(3) { [0]=> string(21) "Swedish Fish Assorted" [1]=> string(31) "Beary Blue Rasberry Gummi Bears" [2]=> string(25) "Nonpareils Milk Chocolate" }
$_SESSION['cart'][$productID]++;
$_SESSION['options'.$productID] = $optionsSelected;
header('location: /shop/cart');
break;
显示购物车中的选项:
<?php if($_SESSION['options'.$id] > 0): ?>
<?php foreach($_SESSION['options'.$id] as $option): ?>
<p><?php echo $option; ?></p>
<?php endforeach; ?>
<?php endif; ?>
现在唯一的问题是:
客户将带有选项A,C,and D 的Product ID 4521 添加到购物车,它显示得很好并且工作得很好。
现在客户将相同的Product ID 4521和选项D, B, and A添加到购物车,它在购物车中显示相同的产品,数量为2,现在选项显示D, B, and A和第一组选项消失了。
我需要它实际将它们分成不同的行,每个行的数量为 1。
Product Description Options Quantity
Product ID 4521 A, C, D 1
Product ID 4521 D, B, A 1
我真的不知道如何告诉它分解这些并将它们作为individual items 放入购物车,因为它们具有相同的产品 ID。
【问题讨论】: