Jest to rozwinięcie skryptu z książki php mysql kevina yanka. Nie wiem jak zrobić ograniczenie ilość dodawanych produktów, oraz by później w koszyku była jedna nazwa produktu, a zmieniała się ilość dodawanych rzeczy.
index.php
<?php include $_SERVER['DOCUMENT_ROOT'] . '/includes/db1.inc.php'; $result = mysqli_query($link, 'SELECT id, produkt, ilosc, cena FROM produkt'); if(!$result) { $error = 'Błąd odczytu zawartosci tabeli produkty: ' .mysqli_error($link); include 'error.html.php'; } while ($row = mysqli_fetch_array($result)) { 'ilosc' => $row['ilosc'], 'cena' => $row['cena']); } { } { //Dodawanie produktów na koniec tablicy $_SESSION['cart'] $_SESSION['cart'][] = $_POST['id']; } { $total = 0; foreach ($_SESSION['cart'] as $id) { foreach($produkty as $produkt) { if ($produkt['id'] == $id) { $cart[] = $produkt; $total += $produkt['cena']; break; } } } include 'cart.html.php'; } { //wyczyszczenie tablicy $_SESSION['cart'] } include 'sklep.html.php'; ?>
sklep.html.php
<?php include $_SERVER['DOCUMENT_ROOT'] . '/includes/helpers.inc.php'; ?> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <style type="text/css"> table { border-collapse: collapse; } td, th { border: 1px solid black; } </style> </head> <body> <p>Twój koszyk na zapupy zawiera <?php echo count($_SESSION['cart']); ?> produkt(ów).</p> <table border="1"> <thead> <tr> </tr> </thead> <tbody> <?php foreach($produkty as $produkt): ?> <tr> <td align="right"> <?php echo number_format($produkt['cena'], 2); ?> zł </td> <td> <form action="" method="post"> <div> <input type="hidden" name="id" value="<?php htmlout($produkt['id']); ?>" /> <input type="submit" name="action" value="Kup"/> </div> </form> </td> </tr> <?php endforeach; ?> </tbody> </table> </ul> </body> </html>
cart.html.php (koszyk)
<?php include_once $_SERVER['DOCUMENT_ROOT'] . '/includes/helpers.inc.php';?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <style type="text/css"> table { border-collapse: collapse; } td, th { border: 1px solid block; } </style> </head> <body> <?php if (count($cart) >0): ?> <table> <thead> <tr> </tr> </thead> <tfoot> <tr> </tr> </tfoot> <tbody> <?php foreach ($cart as $produkt): ?> <tr> <td> <?php echo number_format($produkt['cena'], 2); ?> zł </td> </tr> <?php endforeach; ?> </tbody> </table> <?php else: ?> <?php endif; ?> <form action="?" method="post"> <p> <input type="submit" name="action" value="Opróżnij koszyk"/> </p> </form> </body> </html>