Rozwiązanie - Egzamin Praktyczny EE.09

Arkusz EE.09-03-19.06 - Czerwiec 2019 - Wersja #03

Skrypt: PHP

Baza Danych:

Przykładowe rozwiązanie
Rozwiązanie - Arkusz praktyczny EE.09-03-19.06 - Czerwiec 2019 - Wersja #03
Wymagane zdjęcia
Egzamin EE.09-03-19.06 - dodatkowe zdjęcia - zawody.jpg
zawody.jpg
Wyniki działań na bazie danych
Egzamin EE.09-03-19.06 - Operacje na bazie danych - import.png
import.png
Egzamin EE.09-03-19.06 - Operacje na bazie danych - import.png
kw1.jpg
Egzamin EE.09-03-19.06 - Operacje na bazie danych - import.png
kw2.jpg
Egzamin EE.09-03-19.06 - Operacje na bazie danych - import.png
kw3.jpg
Egzamin EE.09-03-19.06 - Operacje na bazie danych - import.png
kw4.jpg
Plik wedkarstwo.sql
-- phpMyAdmin SQL Dump
-- version 5.2.0
-- https://www.phpmyadmin.net/
--
-- Host: 127.0.0.1
-- Czas generowania: 25 Mar 2023, 11:33
-- 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: `wedkarstwo`
--

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

--
-- Struktura tabeli dla tabeli `karty_wedkarskie`
--

CREATE TABLE `karty_wedkarskie` (
  `id` int(10) UNSIGNED NOT NULL,
  `imie` text DEFAULT NULL,
  `nazwisko` text DEFAULT NULL,
  `adres` text DEFAULT NULL,
  `data_zezwolenia` date DEFAULT NULL,
  `punkty` int(10) UNSIGNED DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;

--
-- Zrzut danych tabeli `karty_wedkarskie`
--

INSERT INTO `karty_wedkarskie` (`id`, `imie`, `nazwisko`, `adres`, `data_zezwolenia`, `punkty`) VALUES
(1, 'Jan', 'Kowalski', 'Warszawa, Aleje Jerozolimskie 65/4', '2018-02-15', 23),
(2, 'Andrzej', 'Nowak', 'Poznan, Dabowskiego 16/4', '2018-03-12', 10);

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

--
-- Struktura tabeli dla tabeli `lowisko`
--

CREATE TABLE `lowisko` (
  `id` int(10) UNSIGNED NOT NULL,
  `Ryby_id` int(10) UNSIGNED NOT NULL,
  `akwen` text DEFAULT NULL,
  `wojewodztwo` text DEFAULT NULL,
  `rodzaj` int(10) UNSIGNED DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;

--
-- Zrzut danych tabeli `lowisko`
--

INSERT INTO `lowisko` (`id`, `Ryby_id`, `akwen`, `wojewodztwo`, `rodzaj`) VALUES
(1, 2, 'Zalew Wegrowski', 'Mazowieckie', 4),
(2, 3, 'Zbiornik Bukowka', 'Dolnoslaskie', 2),
(3, 2, 'Jeziorko Bartbetowskie', 'Warminsko-Mazurskie', 2),
(4, 1, 'Warta-Obrzycko', 'Wielkopolskie', 3),
(5, 2, 'Stawy Milkow', 'Podkarpackie', 5),
(6, 7, 'Przemsza k. Okradzinowa', 'Slaskie', 3);

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

--
-- Struktura tabeli dla tabeli `zawody_wedkarskie`
--

CREATE TABLE `zawody_wedkarskie` (
  `id` int(10) UNSIGNED NOT NULL,
  `Karty_wedkarskie_id` int(10) UNSIGNED NOT NULL,
  `Lowisko_id` int(10) UNSIGNED NOT NULL,
  `data_zawodow` date DEFAULT NULL,
  `sedzia` text DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;

--
-- Zrzut danych tabeli `zawody_wedkarskie`
--

INSERT INTO `zawody_wedkarskie` (`id`, `Karty_wedkarskie_id`, `Lowisko_id`, `data_zawodow`, `sedzia`) VALUES
(1, 1, 3, '2018-04-12', 'Jan Kowalewski'),
(2, 1, 5, '2018-05-01', 'Jan Kowalewski'),
(3, 1, 2, '2018-06-01', 'Jan Kowalewski'),
(4, 2, 1, '2018-06-21', 'Krzysztof Dobrowolski'),
(5, 2, 4, '2018-09-28', 'Tomasz Kowal');

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

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

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

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

--
-- AUTO_INCREMENT dla zrzuconych tabel
--

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

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

--
-- AUTO_INCREMENT dla tabeli `zawody_wedkarskie`
--
ALTER TABLE `zawody_wedkarskie`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=7;
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 zawody_wedkarskie (Karty_wedkarskie_id, Lowisko_id, data_zawodow, sedzia) VALUES (2, 4, '2018-09-28', 'Tomasz Kowal');
Zapytanie 2: SELECT data_zawodow FROM zawody_wedkarskie WHERE sedzia = 'Jan Kowalewski';
Zapytanie 3: SELECT imie, nazwisko FROM karty_wedkarskie WHERE id IN (SELECT Karty_wedkarskie_id FROM zawody_wedkarskie WHERE id = 3);
Zapytanie 4: UPDATE karty_wedkarskie SET punkty = 10 WHERE id = 2;
Plik zawody.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>Wędkowanie - moje hobby</title>
        <link rel="stylesheet" href="styl5.css">
    </head>
    <body>
        <div id="baner1">
            <img src="zawody.jpg" alt="zawody wędkarskie">
        </div>

        <div id="baner2">
            <h1>Zawody Wędkarskie</h1>
        </div>

        <div id="baner3">
            <a href="kwerendy.txt">Pobierz plik</a>
        </div>

        <main>
            <h2>Dodaj nowe zawody wędkarskie</h2>
            <form action="zgloszenie.php" method="post">
                <label for="lowisko">Łowisko: </label><br>
                <input type="number" name="lowisko" id="lowisko"><br>
                <label for="data">Data (rrrr-mm-dd):</label><br>
                <input type="text" name="data" id="data"><br>
                <label for="sedzia">Sędzia:</label><br>
                <input type="text" name="sedzia" id="sedzia"><br>
                <button type="reset">WYCZYŚĆ</button>
                <button type="submit">DODAJ</button>
            </form>

            <h2>Łowiska</h2>
            <ol>
                <li>Zalew Węgrowski</li>
                <li>Zbiornik Bukówka</li>
                <li>Jezioro Bartbetowskie</li>
                <li>Warta-Obrzycko</li>
            </ol>
        </main>

        <footer>
            <p>Stronę przygotował: <a href="https://ee-informatyk.pl/" target="_blank" style="color: unset;text-decoration: none;line-height: unset;padding: unset;border: none;background: transparent;">EE-Informatyk.pl</a></p>
        </footer>
    </body>
</html>
Plik zgloszenie.php
<?php
    if(isset($_POST["lowisko"]) && isset($_POST["data"]) && isset($_POST["sedzia"])) {
        $lowisko = $_POST["lowisko"];
        $data = $_POST["data"];
        $sedzia = $_POST["sedzia"];

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

        $sql = "INSERT INTO zawody_wedkarskie (Karty_wedkarskie_id, Lowisko_id, data_zawodow, sedzia) VALUES (0, $lowisko, '$data', '$sedzia');";
        $result = $conn->query($sql);

        $conn -> close();

        echo "Nowe zawody wędkarskie zostały dodane";
    }
?>
Plik styl5.css
body {
    font-family: 'Tahoma';
}

#baner1,#baner3 {
    background: rosybrown;
    color: white;
    width: 30%;
    height: 200px;
    float: left;
}

#baner2 {
    background: rosybrown;
    color: white;
    width: 40%;
    height: 200px;
    text-align: center;
    float: left;
}

main {
    clear: both;
    background: wheat;
    padding: 50px;
}

footer {
    background: rosybrown;
    color: white;
    padding: 5px;
    text-align: center;
}

a {
    border: 2px solid darkred;
    background: Salmon;
    color: darkred;
    padding: 20px;
    line-height: 200px;
}

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ę