Rozwiązanie - Egzamin Praktyczny INF.03

Arkusz INF.03-01-24.06-SG - Czerwiec 2024 - Wersja #01

Skrypt: PHP

Baza Danych:

Przykładowe rozwiązanie
Rozwiązanie - Arkusz praktyczny INF.03-01-24.06-SG - Czerwiec 2024 - Wersja #01
Wymagane zdjęcia
Egzamin INF.03-01-24.06-SG - dodatkowe zdjęcia - motor.png
motor.png
Egzamin INF.03-01-24.06-SG - dodatkowe zdjęcia - droga1.jpg
droga1.jpg
Egzamin INF.03-01-24.06-SG - dodatkowe zdjęcia - droga2.jpg
droga2.jpg
Egzamin INF.03-01-24.06-SG - dodatkowe zdjęcia - droga3.jpg
droga3.jpg
Egzamin INF.03-01-24.06-SG - dodatkowe zdjęcia - droga4.jpg
droga4.jpg
Egzamin INF.03-01-24.06-SG - dodatkowe zdjęcia - droga5.jpg
droga5.jpg
Wyniki działań na bazie danych
Egzamin INF.03-01-24.06-SG - Operacje na bazie danych - import.png
import.png
Egzamin INF.03-01-24.06-SG - Operacje na bazie danych - import.png
kw1.jpeg
Egzamin INF.03-01-24.06-SG - Operacje na bazie danych - import.png
kw2.jpeg
Egzamin INF.03-01-24.06-SG - Operacje na bazie danych - import.png
kw3.jpeg
Egzamin INF.03-01-24.06-SG - Operacje na bazie danych - import.png
kw4.jpeg
Plik motory.sql
-- phpMyAdmin SQL Dump
-- version 5.2.1
-- https://www.phpmyadmin.net/
--
-- Host: 127.0.0.1
-- Generation Time: Paź 10, 2024 at 09:20 AM
-- Wersja serwera: 10.4.32-MariaDB
-- Wersja PHP: 8.2.12

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 */;

--
-- Database: `motory`
--

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

--
-- Struktura tabeli dla tabeli `wycieczki`
--

CREATE TABLE `wycieczki` (
  `id` int(10) UNSIGNED NOT NULL,
  `zdjecia_id` int(10) UNSIGNED NOT NULL,
  `nazwa` varchar(50) DEFAULT NULL,
  `opis` text DEFAULT NULL,
  `poczatek` varchar(30) DEFAULT NULL,
  `koniec` varchar(30) DEFAULT NULL,
  `ocena` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

--
-- Dumping data for table `wycieczki`
--

INSERT INTO `wycieczki` (`id`, `zdjecia_id`, `nazwa`, `opis`, `poczatek`, `koniec`, `ocena`) VALUES
(1, 1, 'Pętla Bieszczadzka', 'Bieszczadzkie pętle – mała i duża, od lat są chętnie odwiedzane przez motocyklistów z całej Polski. Piękna, dzika przyroda, ślady burzliwej historii regionu i atmosfera spokoju, wciąż nieskażona turystycznym zgiełkiem. Jeśli brakuje ci emocji, połącz bieszczadzkie serpentyny z najbardziej krętą drogą w Polsce – przełęczą Przysłup leżącą w Górach Słonnych na drodze z Sanoka do Przemyśla.', 'Lesko', 'Lesko', NULL),
(2, 5, 'Szlak Orlich Gniazd', 'Szlak Orlich Gniazd leżący na Jurze Krakowsko-Częstochowskiej, to kolejne miejsce chętnie odwiedzane przez motocyklistów. Wszystko za sprawą urokliwych dróg, tajemniczych i pięknych średniowiecznych ruin zamków i niezrównanych pstrągów, hodowanych tutaj od XIX wieku. Najpiękniejsze odcinki dróg to 793 z janowa do Żarek, 791 z Ogrodzieńca do Olkusza i 773 z Sieniczna do Ojcowa.', 'Olkusz', 'Kraków', NULL),
(3, 4, 'Wokół Kotliny Kłodzkiej', 'Kotlina Kłodzka, ze swoją historią, kuchnią, zabytkami i pięknymi trasami, to wymarzone miejsce na długi motocyklowy weekend. Znajdziesz tutaj niezliczone atrakcje, mnóstwo miejsc do zdjęć i trasy tak piękne, że chciałoby się jeździć nimi bez końca. Dobrym pomysłem jest zrobienie pętli ze Złotego Stoku, przez Lądek Zdrój do Bystrzycy Kłodzkiej, następnie Autostradą Sudecką z Międzylesia do Dusznik-Zdroju i potem Drogą Stu Zakrętów z Kudowy-Zdroju do Radkowa.', 'Kłodzko', 'Radków', NULL),
(4, 4, 'Kubalonka i Salmopolska', 'Biegnąca u podnóża Baraniej Góry droga ze Szczyrku do Istebnej składa się z dwóch krętych odcinków – 942 ze Szczyrku do Wisły i 941 z Wisły do Istebnej. Każdy z nich daje mnóstwo emocji na ekscytujących zakrętach, choć często trzeba uważać na zalegający na poboczach żwir. Oprócz pięknych widoków, na uwagę zasługuje tutejsza kuchnia – warto zatrzymać się w jednej z lokalnych karczm i spróbować lokalnych przysmaków.', 'Szczyrk', 'Istebna', NULL),
(5, 3, 'Podnóże Tatr', 'Ta trasa motocyklowa oferuje chyba jedne z najpiękniejszych widoków, jakie można zobaczyć w Polsce. Niezrównane piękno Tatr podziwiać można w wielu miejscach, jednak najbardziej okazała panorama czeka na Polanie Głodówce. Warto rozpocząć podróż z Chochołowa – pięknej wsi z unikalnym układem zabudowy, i kontynuować przez Kiry do Zakopanego, następnie Drogą Oswalda Balzera w stronę Morskiego Oka. Jeśli wrażeń będzie mało, można objechać Tatry po słowackiej stronie.', 'Chochołów', 'Palenica Białczańska', NULL),
(6, 3, 'Przez Warmię i Mazury', 'Choć wybrać najpiękniejszą trasę Warmii i Mazur bardzo trudno, niezmiennie od lat urzeka nas droga 58 z Olsztynka do Pisza. Położona wśród jezior i lasów, wije się łagodnymi łukami, które pozwalają na płynną, niespieszną jazdę. To prawdziwy relaks, który warto sobie okrasić zwiedzaniem licznych atrakcji regionu – szczególnie leżących na północy mostów w Stańczykach, piramidy w Rapie, bunkrów w Mamerkach, twierdzy Boyen w Giżycku i śluzy w Leśniewie.', 'Olsztynek', 'Pisz', NULL),
(7, 3, 'Góry Sowie', 'Ilość legend krążących wokół tego regionu może przyprawić o zawrót głowy. Większość z nich powstała za sprawą Niemców, którzy podczas II wojny światowej zbudowali tutaj potężne podziemne miasta. Motocyklistom spodobają się tutejsze kręte trasy, które przecinają masyw w trzech miejscach – to drogi 383, 384 i jedna bez numeru przez Przełęcz Walimską. Sporo zakrętów, niestety sporo też dziur, więc trzeba bardzo uważać.', 'Pieszyce', 'Sokolec', NULL),
(8, 2, 'Droga Kaszubska i Wdzydze', 'Jeśli piękne krajobrazy kręcą cię mocniej niż wściekłe winkle, koniecznie wybierz się na Kaszuby i do Wdzydzkiego Parku Krajobrazowego. Znajdziesz tam atmosferę jak z bajki i drogi, które wywołują zachwyt każdym kilometrem. We Wdzydzkim Parku Krajobrazowym na uwagę zasługują półwysep Lipa i i Kaszubski Park Etnograficzny. Na Drodze Kaszubskiej z Szymbarku do Garcza warto zobaczyć szymbarskie Centrum Edukacji i Promocji Regionu i skoczyć do pobliskiego, nieco przerażającego zamku w Łapalicach.', 'Szymbark', 'Garcz', NULL),
(9, 3, 'Dolina Popradu', 'Niedługa, ale bardzo piękna trasa z muszyny do Piwnicznej-Zdroju, biegnąca tuż nad graniczną rzeką Poprad. Łagodne łuki pozwalają na spokojną jazdę, a niepowtarzalne widoki przynoszą wiele radości. Jeśli lubisz lekki hardkor, spróbuj wrócić do Muszyny po słowackiej stronie, tuż nad rzeką.', 'Muszyna', 'Piwniczna-Zdrój', NULL),
(10, 1, 'Alter-Zakopianka', 'Potwornie zatłoczona i niebezpieczna Zakopianka nie zachęca do pokonywania jej motocyklem, zwłaszcza w czasie weekendów. O wiele lepszym pomysłem jest biegnąca obok Gorczańskiego Parku Narodowego trasa alternatywna. Z Wieliczki do Kasiny Wielkiej wybierz drogę 964, następnie z Mszany Dolnej przez Zabrzeż 968 i przełęcz Knurowską do Nowego Targu. To bardzo piękna trasa i niemal pusta, nawet w sezonie.', 'Wieliczka', 'Nowy Targ', NULL);

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

--
-- Struktura tabeli dla tabeli `zdjecia`
--

CREATE TABLE `zdjecia` (
  `id` int(10) UNSIGNED NOT NULL,
  `zrodlo` varchar(50) DEFAULT NULL,
  `alt` varchar(50) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

--
-- Dumping data for table `zdjecia`
--

INSERT INTO `zdjecia` (`id`, `zrodlo`, `alt`) VALUES
(1, 'droga1', 'górska droga'),
(2, 'droga2', 'droga we mgle'),
(3, 'droga3', 'droga jesienią'),
(4, 'droga4', 'droga w górach'),
(5, 'droga5', 'meandry');

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

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

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

--
-- AUTO_INCREMENT for dumped tables
--

--
-- AUTO_INCREMENT for table `wycieczki`
--
ALTER TABLE `wycieczki`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=11;

--
-- AUTO_INCREMENT for table `zdjecia`
--
ALTER TABLE `zdjecia`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;
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: SELECT nazwa FROM wycieczki WHERE poczatek="Muszyna" OR poczatek="Wieliczka";
Zapytanie 2: SELECT nazwa, opis, poczatek, zrodlo FROM wycieczki JOIN zdjecia ON zdjecia_id = zdjecia.id;
Zapytanie 3: SELECT COUNT(*) FROM wycieczki;
Zapytanie 4: ALTER TABLE wycieczki ADD COLUMN ocena INT;
Plik motor.php
<?php
    $conn = new mysqli(hostname: "localhost",username: "root",password: "",database: "motory");
?>

<!DOCTYPE html>
<html lang="pl">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Motocykle</title>
        <link rel="stylesheet" href="styl.css">
    </head>
    <body>
        <img src="motor.png" alt="motocykl">
        
        <header>
            <h1>Motocykle - moja pasja</h1>
        </header>

        <main>
            <h2>Gdzie pojechać?</h2>
            <?php
                // Skrypt #1
                $sql = "SELECT nazwa, opis, poczatek, zrodlo FROM wycieczki JOIN zdjecia ON zdjecia_id = zdjecia.id;";
                $result = $conn->query(query: $sql);
                while($row = $result -> fetch_array()) {
                    echo "<div class='terminy'>";
                        echo "$row[0], rozpoczyna się w $row[2], <a href='$row[3].jpg'>zobacz zdjęcie</a>";
                    echo "</div>";
                    echo "<div class='opis'>";
                        echo $row[1];
                    echo "</div>";
                }
            ?>
        </main>

        <div id="prawy1">
            <h2>Co kupić?</h2>
            <ol>
                <li>Honda CBR125R</li>
                <li>Yamaha YBR125</li>
                <li>Honda VFR800i</li>
                <li>Honda CBR1100XX</li>
                <li>BMW R1200GS LC</li>
            </ol>
        </div>

        <div id="prawy2">
            <h2>Statystyki</h2>
            <?php
                // Skrypt #2
                $sql = "SELECT COUNT(*) FROM wycieczki;";
                $result = $conn->query(query: $sql);
                while($row = $result -> fetch_array()) {
                    $liczba = $row[0];
                }
                echo "<p>Wpisanych wycieczek: $liczba</p>";
            ?>
            <p>Użytkowników forum: 200</p>
            <p>Przesłanych zdjęć: 1300</p>
        </div>

        <footer>
            <p>Stronę wykonał: <a href="https://ee-informatyk.pl/" target="_blank" style="text-decoration: none;color: unset;">EE-Informatyk.pl</a></p>
        </footer>

    </body>
</html>

<?php
    $conn -> close();
?>
Plik styl.css
* {
    font-family: 'Verdana';
}

img {
    display: block;
    position: absolute;
    left: 15%;
    width: 70%;
    z-index: -1;
}

header {
    background: rgba(60,120,160,0.9);
    color: white;
    font-size: 150%;
    padding: 10px;
}

main {
    background: rgba(0,100,0,0.6);
    margin: 2%;
    width: 75%;
    height: 600px;
    font-size: 120%;
    overflow-y: scroll;
    box-shadow: 10px 10px 7px dimgray;
    float: left;
}

#prawy1,
#prawy2 {
    float: right;
    background: rgba(0,100,0,0.6);
    margin: 1%;
    width: 15%;
    height: 300px;
    box-shadow: 10px 10px 7px dimgray;
}

footer {
    clear: both;
    background: rgba(60,120,160,0.9);
    color: white;
    padding: 10px;
}

h1,h2 {
    text-align: center;
    font-style: italic;
}

a,.terminy {
color: white;
}

.opis {
    padding: 1%;
}

.opis:hover {
    background: LightGreen;
}

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ę