Проблема, с которой я столкнулся, заключалась в том, что она не может увеличиваться, когда я нажимаю кнопку добавления во второй раз, и у меня нет идеи, как сделать кнопку уменьшения.
if (isset($_POST["add"])){
if (isset($_SESSION["cart"])){
$item_array_id = array_column($_SESSION["cart"], "id");
if(!in_array($_GET["id"], $item_array_id)){
$count = count($_SESSION["cart"]);
$item_array = array(
'id' => $_GET["id"],
'item_name' => $_POST["hidden_name"],
'product_price' => $_POST["hidden_price"],
'item_quantity' => $_POST["quantity"],
);
$_SESSION["cart"][$count] = $item_array;
echo '<script>window.location="counter.php"</script>';
}else{
echo '<script>alert("Product is already Added to List")</script>';
echo '<script>window.location="counter.php"</script>';
}
}else{
$item_array = array(
'id' => $_GET["id"],
'item_name' => $_POST["hidden_name"],
'product_price' => $_POST["hidden_price"],
'item_quantity' => $_POST["quantity"],
);
$_SESSION["cart"][0] = $item_array;
}
}
<?php
$conn = mysqli_connect("localhost", "root", "", "test");
$query = "SELECT product_id, product_name, product_price, image FROM product ORDER BY product_id ASC ";
$result = mysqli_query($conn,$query);
if(mysqli_num_rows($result) > 0) {
while ($row = mysqli_fetch_array($result)) {
?>
<div class="col-md-3">
<form method="post" action="counter.php?action=add&id=<?php echo $row["product_id"]; ?>">
<div class="product">
<img src="img/<?php echo $row["image"]; ?>" style="width:100px; height:100px">
<h5 class="text-info"><?php echo $row["product_name"]; ?></h5>
<h5 class="text-danger"><?php echo "RM " . $row["product_price"]; ?></h5>
<input type="text" name="quantity" class="form-control" value="1">
<input type="hidden" name="hidden_name" value="<?php echo $row["product_name"]; ?>">
<input type="hidden" name="hidden_price" value="<?php echo $row["product_price"]; ?>">
<input type="submit" name="add" style="margin-top: 5px;" class="btn btn-success" value="+">
<input type="submit" name="minus" style="margin-top: 5px;" class="btn btn-success" value="-">
</div>
</form>
</div>
<?php
}
}
?>
<div style="clear: both"></div>
<div class="table-responsive">
<table class="table table-bordered">
<tr>
<th width="30%">Product Name</th>
<th width="10%">Quantity</th>
<th width="10%">Total Price</th>
<th width="17%">Remove Item</th>
</tr>
<?php
if(!empty($_SESSION["cart"])){
$total = 0;
foreach ($_SESSION["cart"] as $key => $value) {
?>
<tr>
<td><?php echo $value["item_name"]; ?></td>
<td><?php echo $value["item_quantity"]; ?> <a href="counter.php?action1=subtract&id=<?php echo $value["product_id"]; ?>"><input type="submit" name="subtract" style="width:20px; height:25px" class="btn btn-success"
value="-"></td>
<td>RM <?php echo number_format($value["item_quantity"] * $value["product_price"], 2); ?></td>
<td style="text-align:center;"><a href="counter.php?action=delete&id=<?php echo $value["product_id"]; ?>"><img src="img/icon-delete.png"/></a></td>
</tr>
<?php
$total = $total + ($value["item_quantity"] * $value["product_price"]);
}
?>
<tr>
<td colspan="2" align="right">Total</td>
<th align="right">RM <?php echo number_format($total, 2); ?></th>
<td></td>
</tr>
<?php
}
?>
</table>
</div>
Вывод добавления показывает только для первого щелчка, но будет отображаться «Товар уже добавлен в список» для второго щелчка, не может увеличить количество товара.Фактическим результатом должно стать увеличение количества.Тот же вопрос для уменьшения количества продукта