Zadanie INF.03 Aplikacja internetowa portalu zawodów wędkarskich
Opis: Celem zadania jest stworzenie aplikacji internetowej dla portalu zawodów wędkarskich, która obejmuje operacje na bazie danych oraz zapytania SQL. Dodatkowo należy przygotować odpowiednią stronę internetową z formularzem zgłoszeniowym, stylizowaną za pomocą CSS oraz funkcjonującą w technologii PHP. Aplikacja musi pozwalać na zgłoszenia zawodów oraz wyświetlanie wyników na stronie.
Operacje na bazie danych
Za pomocą narzędzia phpMyAdmin:
- Utwórz bazę danych wedkarstwo
- Zaimportuj tabele z pliku baza.sql z rozpakowanego archiwum
- Wykonaj zrzuty ekranu po imporcie (zrzut w formacie PNG, nazwa: import.png)
- Wykonaj zapytania SQL:
- Zapytanie 1: Wstawiające rekord do tabeli zawody_wedkarskie
- Zapytanie 2: Wybierające dane sędziego Krzysztofa Dobrowolskiego
- Zapytanie 3: Wybierające dane zwycięzcy zawodów o identyfikatorze 4
- Zapytanie 4: Aktualizujące dane w tabeli karty_wedkarskie (zwiększenie punktów o 2)
Kliknij poniższy link, aby pobrać plik:
Pobierz plik hasło : ZaWodY7%Zapytania SQL
Zapytanie 1: Wstawianie rekordu do tabeli zawody_wedkarskie
INSERT INTO zawody_wedkarskie (Karty_wedkarskie_id, Lowisko_id, data_zawodow, sedzia) VALUES (2, 4, '2021-09-28', 'Andrzej Nowak');
Zapytanie 2: Wybieranie danych dla sędziego Krzysztofa Dobrowolskiego
SELECT id, data_zawodow FROM zawody_wedkarskie WHERE sedzia = 'Krzysztof Dobrowolski';
Zapytanie 3: Wybieranie danych zwycięzcy zawodów o identyfikatorze 4
SELECT imie, nazwisko, punkty FROM karty_wedkarskie WHERE id = (SELECT Karty_wedkarskie_id FROM zawody_wedkarskie WHERE id = 4);
Zapytanie 4: Aktualizowanie danych w tabeli karty_wedkarskie
UPDATE karty_wedkarskie SET punkty = punkty + 2 WHERE id = 1;
Witryna Internetowa
Przygotowanie grafiki: Plik zawody.jpg należy odbić w taki sposób, aby osoba na grafice znajdowała się po prawej stronie, jak na obrazie 2, oraz przeskalować go, zachowując proporcje, do wysokości 250px.

Pliki: Strona internetowa powinna być zapisana w pliku zawody.html i używać pliku CSS o nazwie styl3.css. Do witryny należy dodać formularz zgłoszeniowy do zawodów oraz odpowiednie elementy zgodne z wymaganiami.
Struktura strony
<!DOCTYPE html>
<html lang="pl">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Zawody wędkarskie</title>
<link rel="stylesheet" href="styl3.css">
</head>
<body>
<header>
<section class="left-block">
<h1>Zawody polskich wędkarzy</h1>
</section>
<section class="right-block">
<img src="zawody.jpg" alt="wędkowanie">
</section>
</header>
<main>
<section class="main-block">
<h3>Łowiska</h3>
<ul>
<li>Zalew Węgrowski</li>
<li>Zbiornik Bukówka</li>
<li>Jeziorko Bartbetowskie</li>
<li>Warta-Obrzycko</li>
</ul>
<h3>Dodaj zawody wędkarskie</h3>
<form action="zgloszenie.php" method="POST">
<label for="lowisko">Łowisko: </label>
<input type="number" id="lowisko" name="lowisko" required>
<label for="data">Data: </label>
<input type="date" id="data" name="data" required>
<label for="sedzia">Sędzia: </label>
<input type="text" id="sedzia" name="sedzia" required>
<button type="reset">CZYŚĆ</button>
<button type="submit">DODAJ</button>
</form>
</section>
</main>
<footer>
<p>Stronę przygotował: [Numer zdającego]</p>
</footer>
</body>
</html>
Skrypt PHP - zgloszenie.php
<?php
$conn = mysqli_connect('localhost', 'root', '', 'wedkarstwo');
if (!$conn) {
die("Połączenie nieudane: " . mysqli_connect_error());
}
$lowisko = $_POST['lowisko'];
$data = $_POST['data'];
$sedzia = $_POST['sedzia'];
$query = "INSERT INTO zawody_wedkarskie (Karty_wedkarskie_id, Lowisko_id, data_zawodow, sedzia)
VALUES (0, '$lowisko', '$data', '$sedzia')";
if (mysqli_query($conn, $query)) {
echo "Zawody zostały dodane pomyślnie.";
} else {
echo "Błąd: " . $query . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);
?>