0

我有一个购物车,上面有一张桌子,上面列出了你在里面的所有物品,包括数量、价格和产品名称。现在我希望用户能够轻松更改项目的数量。我怎样才能使这项工作?我自己制定的这个解决方案似乎不起作用:

<tr>
        <td><?=$item["product_id"]?></td>
        <td>
            <form method="post" id="<?=$item["product_id"]?>">
                <input type="text" name="aantal" value="<?=$item["aantal"]?>">&nbsp;
                <input type="submit" name="change_aantal_<?=$item["product_id"]?>" value="Update">
            </form>
            <?  
                if(isset($_POST["change_aantal_".$item["product_id"].""])) {
                    updateCart($item["id"], $_POST["aantal"]);
                }
            ?>
        </td>
        <td><?=$item["aantal"] * $item["price"]?></td>
        <td><a href="/removefromcart.php?id=<?=$item["id"]?>">Verwijderen</a></td>
    </tr>

实际进行更新的功能工作正常。这只是关于我如何使这个表格工作。

4

1 回答 1

2

您的 updateCart() 是如何工作的?从您的提交中删除 product_id(以及在您的 if 子句中)。与您一起添加隐藏输入 $item['product_id'] 并使用这些值调用您的 updateCart() 。

所以它会像

<table>
<tr>
    <td><?= $item["product_id"] ?></td>
    <td>
        <form method="post" id="<?= $item["product_id"] ?>">
            <input type="text" name="aantal" value="<?= $item["aantal"] ?>">&nbsp;
            <input type="submit" name="change_aantal" value="Update">
            <input type="hidden" name="product_id" value="<?= $item['product_id']; ?>">
        </form>
        <?
        if (isset($_POST["change_aantal"])) {
            updateCart($_POST["product_id"], $_POST["aantal"]);
        }
        ?>
    </td>
    <td><?= $item["aantal"] * $item["price"] ?></td>
    <td><a href="/removefromcart.php?id=<?= $item["product_id"] ?>">Verwijderen</a></td>
</tr>

于 2013-11-12T14:06:56.540 回答