Witam mam problem ze skryptem dodawania produktów do koszyka. produkty wyświetlane są z bazy id, nazwa, cena i grafika.
Przycisk dodaj do koszyka teoretycznie działa i dodaje produkty, ale tylko raz i nie można zwiększyć ilości, natomiast przycisk Usuń nie działa w ogóle.
Domyślam się że to jakiś prosty błąd, ale nie mogę znaleźć rozwiązania tego problemu
Oto kod:
<?php
session_start();
$connect = mysqli_connect("localhost","root","","koszyk");
if (isset($_POST['dodaj_do_koszyka'])) {
if (isset($_SESSION['koszyk'])) {
$session_array_id = array_column($_SESSION['koszyk'], "id");
if (!in_array($_GET['id'], $session_array_id)) {
$session_array = array(
'id' => $_GET['id'],
'nazwa' => $_POST['nazwa'],
'cena' => $_POST['cena'],
'ilosc' => $_POST['ilosc'],
);
$_SESSION['koszyk'][] = $session_array;
}
}else{
$session_array = array(
'id' => $_GET['id'],
'nazwa' => $_POST['nazwa'],
'cena' => $_POST['cena'],
'ilosc' => $_POST['ilosc'],
);
$_SESSION['koszyk'][] = $session_array;
}
}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta name="vieport" content="width=device-width, initial-scale=1.0"/>
<title>Sklep internetowy |</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css"/>
</head>
<body>
<div class="container-main">
<div class="col-md-12">
<div class="row">
<div class="col-md-6">
<h2 class="text-center">bubu</h2>
<div class="col-md-12">
<div class="row">
<?php
$query = "SELECT *FROM produkty_koszyk";
$result = mysqli_query($connect,$query);
while ($row = mysqli_fetch_array($result)) {?>
<div class="col-md-4">
<form method="post" action="index.php?id=<?=$row['id'] ?>">
<img src="<?= $row['grafika']; ?>" style='height: 100px;'>
<h2><?= $row['nazwa']; ?></h2>
<h2><?= number_format($row['cena'],2); ?></h2>
<input type="hidden" name="nazwa" value="<?= $row['nazwa'] ?>">
<input type="hidden" name="cena" value="<?= $row['cena'] ?>">
<input type="number" name="ilosc" value="1" class="form_control">
<input type="submit" name="dodaj_do_koszyka" class="btn btn_warning btn-block my-2" value="dodaj do koszyka">
</form>
</div>
<?php }
?>
</div>
</div>
</div>
<div class="col-md-6">
<h2 class="text-center">Wybrane produkty</h2>
<?php
$total = 0;
$output = "";
$output .= "
<table class='table table-bordered table-striped'>
<tr>
<th>ID</th>
<th>Nazwa</th>
<th>Cena</th>
<th>Ilość</th>
<th>Cena bubu</th>
<th>Usuń</th>
<tr>
";
if (!empty($_SESSION['koszyk'])) {
foreach ($_SESSION['koszyk'] as $key => $value) {
$output .= "
<tr>
<td>".$value['id']."</td>
<td>".$value['nazwa']."</td>
<td>".$value['cena']."</td>
<td>".$value['ilosc']."</td>
<td>ZŁ".number_format($value['cena'] * $value['ilosc'])."</td>
<td>
<a href='index.php?action=remove&id=".$value['id']."'>
<button class='btn btn-danger btn-block'>Usuń</button>
</a>
</td>
<tr>
";
$total = $total + $value['ilosc'] * $value['cena'];
}
$output .="
<tr>
<td colspan='3'><td>
<td></b>Suma</b></td>
<td>".number_format($total,2)."</td>
</tr>
";
}
echo $output;
?>
</div>
</div>
</div>
</div>
</body>
</html>