Rozwiązanie - Egzamin Praktyczny INF.03

Arkusz INF.03-01-22.01-SG - Styczeń 2022 - Wersja #01

Skrypt: PHP

Baza Danych:

Przykładowe rozwiązanie
Rozwiązanie - Arkusz praktyczny INF.03-01-22.01-SG - Styczeń 2022 - Wersja #01
Wymagane zdjęcia
Egzamin INF.03-01-22.01-SG - dodatkowe zdjęcia - menu.jpg
menu.jpg
Wyniki działań na bazie danych
Egzamin INF.03-01-22.01-SG - Operacje na bazie danych - kw1.jpeg
kw1.jpeg
Egzamin INF.03-01-22.01-SG - Operacje na bazie danych - kw1.jpeg
kw2.jpeg
Egzamin INF.03-01-22.01-SG - Operacje na bazie danych - kw1.jpeg
kw3.jpeg
Egzamin INF.03-01-22.01-SG - Operacje na bazie danych - kw1.jpeg
kw4.jpeg
Egzamin INF.03-01-22.01-SG - Operacje na bazie danych - kw1.jpeg
zad1.jpeg
Plik baza.sql
-- phpMyAdmin SQL Dump
-- version 5.2.0
-- https://www.phpmyadmin.net/
--
-- Host: 127.0.0.1
-- Czas generowania: 15 Mar 2023, 06:08
-- Wersja serwera: 10.4.27-MariaDB
-- Wersja PHP: 8.2.0

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
START TRANSACTION;
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;

--
-- Baza danych: `baza`
--

-- --------------------------------------------------------

--
-- Struktura tabeli dla tabeli `dania`
--

CREATE TABLE `dania` (
  `id` int(10) UNSIGNED NOT NULL,
  `typ` int(10) UNSIGNED DEFAULT NULL,
  `nazwa` text DEFAULT NULL,
  `cena` int(10) UNSIGNED DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;

--
-- Zrzut danych tabeli `dania`
--

INSERT INTO `dania` (`id`, `typ`, `nazwa`, `cena`) VALUES
(1, 1, 'Gazpacho', 20),
(2, 1, 'Krem z warzyw', 25),
(3, 1, 'Gulaszowa ostra', 30),
(4, 2, 'Kaczka i owoc', 30),
(5, 2, 'Kurczak pieczony', 40),
(6, 2, 'wieprzowy przysmak', 35),
(7, 2, 'Mintaj w panierce', 30),
(8, 2, 'Alle kotlet', 30),
(9, 3, 'Owoce morza', 20),
(10, 3, 'Grzybki, warzywka, sos', 15),
(11, 3, 'Orzechy i chipsy', 10),
(12, 3, 'Tatar i jajo', 15),
(13, 3, 'Bukiet warzyw', 10),
(14, 4, 'Sok porzeczkowy', 3),
(15, 4, 'Cola', 3),
(16, 4, 'Woda', 2);

-- --------------------------------------------------------

--
-- Struktura tabeli dla tabeli `lokale`
--

CREATE TABLE `lokale` (
  `id` int(10) UNSIGNED NOT NULL,
  `nazwa` text DEFAULT NULL,
  `miasto` text DEFAULT NULL,
  `ulica` text DEFAULT NULL,
  `numer` int(10) UNSIGNED DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;

--
-- Zrzut danych tabeli `lokale`
--

INSERT INTO `lokale` (`id`, `nazwa`, `miasto`, `ulica`, `numer`) VALUES
(1, 'Wszystkie Smaki', 'Zakopane', 'Orkana', 1);

-- --------------------------------------------------------

--
-- Struktura tabeli dla tabeli `pracownicy`
--

CREATE TABLE `pracownicy` (
  `id` int(10) UNSIGNED NOT NULL,
  `imie` text DEFAULT NULL,
  `nazwisko` text DEFAULT NULL,
  `stanowisko` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;

--
-- Zrzut danych tabeli `pracownicy`
--

INSERT INTO `pracownicy` (`id`, `imie`, `nazwisko`, `stanowisko`) VALUES
(1, 'Anna', 'Kowalska', 1),
(2, 'Monika', 'Nowak', 2),
(3, 'Ewelina', 'Nowakowska', 2),
(4, 'Anna', 'Przybylska', 4),
(5, 'Maria', 'Kowal', 4),
(6, 'Ewa', 'Nowacka', 4);

-- --------------------------------------------------------

--
-- Struktura tabeli dla tabeli `rezerwacje`
--

CREATE TABLE `rezerwacje` (
  `id` int(10) UNSIGNED NOT NULL,
  `nr_stolika` int(10) UNSIGNED DEFAULT NULL,
  `data_rez` date DEFAULT NULL,
  `liczba_osob` int(10) UNSIGNED DEFAULT NULL,
  `telefon` text DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;

--
-- Zrzut danych tabeli `rezerwacje`
--

INSERT INTO `rezerwacje` (`id`, `nr_stolika`, `data_rez`, `liczba_osob`, `telefon`) VALUES
(1, 1, '2017-07-04', 4, '111222333');

--
-- Indeksy dla zrzutów tabel
--

--
-- Indeksy dla tabeli `dania`
--
ALTER TABLE `dania`
  ADD PRIMARY KEY (`id`);

--
-- Indeksy dla tabeli `lokale`
--
ALTER TABLE `lokale`
  ADD PRIMARY KEY (`id`);

--
-- Indeksy dla tabeli `pracownicy`
--
ALTER TABLE `pracownicy`
  ADD PRIMARY KEY (`id`);

--
-- Indeksy dla tabeli `rezerwacje`
--
ALTER TABLE `rezerwacje`
  ADD PRIMARY KEY (`id`);

--
-- AUTO_INCREMENT dla zrzuconych tabel
--

--
-- AUTO_INCREMENT dla tabeli `dania`
--
ALTER TABLE `dania`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=17;

--
-- AUTO_INCREMENT dla tabeli `lokale`
--
ALTER TABLE `lokale`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;

--
-- AUTO_INCREMENT dla tabeli `pracownicy`
--
ALTER TABLE `pracownicy`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=9;

--
-- AUTO_INCREMENT dla tabeli `rezerwacje`
--
ALTER TABLE `rezerwacje`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;
COMMIT;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
Plik kwerendy.txt
Zapytanie 1: INSERT INTO rezerwacje VALUES (NULL, 1, '2017-07-04', 4, '111222333');
Zapytanie 2: SELECT nazwa, cena FROM dania WHERE typ = 2;
Zapytanie 3: SELECT nazwa FROM dania WHERE typ = 3 AND CENA < 15;
Zapytanie 4: UPDATE pracownicy SET stanowisko = 4 WHERE stanowisko = 3;
Plik restauracja.html
<!DOCTYPE html>
<html lang="pl">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Restauracja Wszystkie Smaki</title>
        <link rel="stylesheet" href="styl_1.css">
    </head>
    <body>
        <header>
            <h1>Witamy w restauracji "Wszystkie Smaki"</h1>
        </header>

        <div id="lewy">
            <img src="menu.jpg" alt="Nasze danie">
        </div>

        <div id="prawy">
            <h4>U nas dobrze zjesz!</h4>
            <ol>
                <li>Obiady od 40 zł</li>
                <li>Przekąski od 10 zł</li>
                <li>Kolacje od 20 zł</li>
            </ol>
        </div>

        <div id="dolny">
            <h2>Zarezerwuj stolik on-line</h2>
            <form action="rezerwacja.php" method="post">
                Data (format rrrr-mm-dd):<br>
                <input type="text" name="data" id="data"><br>
                Ile osób?<br>
                <input type="number" name="osoby" id="osoby"><br>
                Twój numer telefonu:<br>
                <input type="text" name="telefon" id="telefon"><br>
                <input type="checkbox" name="rodo" id="rodo"> Zgadzam się na przetwarzanie moich danych osobowych<br>
                <button type="reset">WYCZYŚĆ</button>
                <button type="submit">REZERWUJ</button>
            </form>
        </div>

        <footer>
            Stronę internetową opracował: <a href="https://ee-informatyk.pl/" target="_blank" style="color: unset;text-decoration: none;"><i>EE-Informatyk.pl</i></a>
        </footer>
    </body>
</html>
Plik rezerwacja.php
<?php
    if(isset($_POST["data"]) && isset($_POST["osoby"]) && isset($_POST["telefon"])) {
        $data = $_POST["data"];
        $osoby = $_POST["osoby"];
        $telefon = $_POST["telefon"];

        $conn = new mysqli("localhost","root","","baza");

        $sql = "INSERT INTO rezerwacje VALUES (NULL, 1, '$data', $osoby, '$telefon');";
        $result = $conn->query($sql);

        $conn -> close();

        echo "Dodano rezerwację do bazy";
    }
?>
Plik styl_1.css
body {
    background: #F6E5DC;
    font-family: Verdana;
}

header {
    background: #2F180C;
    text-align: center;
    color: khaki;
    height: 60px;
}

#lewy {
    width: 60%;
    float: left;
}

#prawy {
    font-size: 150%;
    padding: 70px;
    float: left;
}

#dolny {
    background: #D0B6A8;
    text-align: center;
    padding: 30px;
    clear: both;
}

footer {
    background: #2F180C;
    color: khaki;
    height: 60px;
}

img {
    height: 350px;
}

button {
    margin: 10px;
    padding: 5px;
    background: #2F180C;
    color: khaki;
}

Strona używa plików cookies

Serwis wykorzystuje ciasteczka głównie w celu prowadzenia systemu formularzy oraz zbierania danych dotyczących ruchu na stronie.

Więcej informacji znajdziesz w Polityce Prywatności

Akceptuję