gpt4 book ai didi

php - 从购物篮 PHP 中删除一个项目

转载 作者:行者123 更新时间:2023-11-29 06:16:42 24 4
gpt4 key购买 nike

我正在尝试使用 PHP 创建一个购物篮,我可以添加项目,清除整个篮子,但是当我试图从篮子中只删除一个项目时我被卡住了。我尝试将 GET 变量发送到 URL,然后根据它的 ID 减少指定项目的数量。尽管目前它似乎不起作用,而且如果我多次单击 URL 会变得很大并且 GET 变量会不断添加到末尾而不是更改整个 URL。

这是我的PHP

    <?php if(isset($_SESSION["cart"])) {
foreach ($_SESSION["cart"] as $id => $value) {
$ids .= $id . ',';

$count += $value['quantity'];

$totalPrice += $value['price'];

}

$query = $database->find_item_db($ids);

foreach ($query as $single_query) {
$id = $single_query['Sweet_ID'];
echo $single_query['Description']; ?> x <?php echo $_SESSION['cart'][$id]['quantity'] . '<a href=' . $_SERVER['REQUEST_URI'] .'&idToRemove=' . $id . '&action=remove> Remove </a>' . '</br>';
} ?>

<h3>Currently <?php echo $count; ?> Items in the basket</h3>
<h4> Total Price £<?php echo $totalPrice; ?> </h4>

<?php
} else {
echo "Your cart is empty";
}
?>


<?php
session_start();

if ($_GET['action'] == "add") {

$idNumber=intval($_GET['id']);

if (isset($_SESSION['cart'][$idNumber])) {

$_SESSION['cart'][$idNumber]['quantity']++;

} else {
$sql = $database->display_single($idNumber);

$second_id = $sql[0]['Sweet_ID'];
$price = $sql[0]['Price'];

$_SESSION['cart'][$second_id]=array(
"quantity" => 1,
"price" => $price
);
}

} else if ($GET['action'] == 'remove') {

$idNumber=intval($_GET['idToRemove']);

$_SESSION['cart'][$idNumber]['quantity']--;

} else if ($_GET['action'] == 'clear') {
unset($_SESSION['cart']);
}

?>

最佳答案

改变这个:

'<a href=' . $_SERVER['REQUEST_URI'] .'&idToRemove=' . $id . '&action=remove> Remove </a>'

进入这个:

'<a href="?idToRemove=' . $id . '&action=remove"> Remove </a>'

因为 $_SERVER['REQUEST_URI'] 已经包含了当前出现在 URL 中的所有参数。这将创建一个只有 idToRemoveaction 参数的空白 URL(指向当前页面)。

(并添加双引号,使 URL 很好地包含在 href 属性中)

关于php - 从购物篮 PHP 中删除一个项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35480082/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com