我之前做过购物车,当时每件商品都没有任何特殊属性,如颜色或尺寸,但我当前的项目有一个颜色属性。过去,我使用以产品 ID 命名的 Session 变量来保存数量。像这样:
在我的产品页面顶部的包含页面上:
/* initialize all quantities to 0 */
for ($i=0; $i <=$maxID; $i++) {
if (!isset($_SESSION['product'.$i]))
$_SESSION['product'.$i] = 0;
}
/* keeps a running total of the number of products to be purchased */
for ($j=0; $j<=$maxID; $j++) {
$cartCount += $_SESSION['product'.$j];
}
在产品页面上我有:
if (isset($_POST['addtocart'])) {
$_SESSION['product'.$id] += 1;
header ("Location: products.php?id=$id");
}
然后在结帐页面上,我使用 for 循环按 $id 浏览购物车。
但是现在我被卡住了,因为我不仅需要保存每个产品的数量,还需要保存颜色,项目 # 相同。谁能帮我把上面的代码转换成可以做同样事情的东西,并增加了跟踪颜色的附加功能?例如,我可能会购买一件绿色物品 #1,一件蓝色物品 #1。这些必须单独显示,因为颜色不同,即使项目编号相同。此外,没有数量框,只有一个添加到购物车按钮,因此如果您想购买两件相同的商品,您必须点击两次添加到购物车。就这样
$_SESSION['product'.$id] += 1;
代替
$_SESSION['product'.$id] = $qty;
显然,要跟踪颜色和数量,我需要使用多维数组来保存两者,但我不知道如何初始化它或设置值。任何帮助将不胜感激。抱歉,如果我没有很好地解释我的问题,我将持续大约 17 个小时不睡觉,现在试图解决这个问题!