Formularz POST: nowe zamówienie

Formularze: GET i POST - PHP i MySQL: strony z bazą danych (PHP i MySQL)

Formularz z method="post" wysyła pola w treści żądania, a skrypt czyta je z $_POST. Najpierw obsługa zapisu (gdy formularz przyszedł), potem formularz i lista zamówień, więc nowe zamówienie widać od razu. Złóż zamówienie i obejrzyj zmianę w zakładce Baza.

<?php
$db = mysqli_connect("localhost", "root", "", "kwiaciarnia");
if (isset($_POST["kwiat"])) {
    $stmt = mysqli_prepare($db, "INSERT INTO zamowienia (kwiat_id, ilosc, klient) VALUES (?, ?, ?)");
    mysqli_stmt_bind_param($stmt, "iis", $_POST["kwiat"], $_POST["ilosc"], $_POST["klient"]);
    mysqli_stmt_execute($stmt);
    echo "<p>Przyjęto zamówienie.</p>";
}
?>

<form method="post">
  <select name="kwiat">
<?php
$result = mysqli_query($db, "SELECT id, nazwa FROM kwiaty");
while ($row = mysqli_fetch_assoc($result)) {
    echo "<option value='" . $row["id"] . "'>" . $row["nazwa"] . "</option>";
}
?>
  </select>
  <input type="number" name="ilosc" placeholder="ilość">
  <input type="text" name="klient" placeholder="nazwisko">
  <button>Zamów</button>
</form>
<?php
$result = mysqli_query($db, "SELECT zamowienia.id, nazwa, ilosc, klient FROM zamowienia JOIN kwiaty ON kwiaty.id = zamowienia.kwiat_id");
while ($row = mysqli_fetch_assoc($result)) {
    echo "<p>" . $row["klient"] . ": " . $row["nazwa"] . " x " . $row["ilosc"] . "</p>";
}
mysqli_close($db);
?>

Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.

Wszystkie lekcje kursu PHP i MySQL: strony z bazą danych·Zaloguj się, aby zapisać postęp na koncie.