我正在尝试更新我的购物车数量,我的产品显示为foreach循环。所以,我尝试通过此代码更新它,它工作但仅适用于addtocart提交中选择的第一个项目。问题是什么 ?如何在一个更新按钮上单击每个项目进行更新?
if (isset($_POST["quansub"]) ){
$itq = $_POST["itq"];
$_SESSION["itq"] = $itq;
$_SESSION["incart"][$select]["item_quantity"]= $_SESSION["itq"];
header("location:selecteditems.php");
}
答案 0 :(得分:0)
这是你想要的那种吗?
我建议购物车中的每件商品都有这样的内容:
<input type='hidden' name='quantity[1]' id='quantity[1]'>
<input type='hidden' name='quantity[2]' id='quantity[2]'>
foreach($_POST['item'] AS $key=>$value){
$qty = $_POST["quantity"][$key];
$_SESSION["quantity"][$key] = $qty;
$_SESSION["incart"][$select]["item_quantity"]= $_SESSION["quantity"][$key];
}
如果您有“$ select”,请使用它来执行以下操作:
<input type="text" name="itq[<?= $select ?>]" value="<?php echo $val["item_quantity"]; ?>"/>
然后在PHP中执行以下操作:
if (isset($_POST["quansub"] && $_POST['itq'][$select])){
$_SESSION["incart"][$select]["item_quantity"] = $_POST["itq"][$select];
}
将此代码移到foreach循环之外:
if (isset($_POST["quansub"])){
header("location:selecteditems.php");
}
拥有“数量[1],数量[2]”等......可以很容易地循环输入值并输出它们的值。将多个项目存储到使用相同名称的数据库时,这非常有用。
赋予名称唯一的“密钥”也意味着您可以确定它们在数据库中的位置,也可以通过使用其数据库或产品ID为其提供“密钥”。
如果您希望我解释个别部分,请告诉我。