Arkusz E.14 : 2017 - czerwiec - zad. 03 (php)
Oznaczenie: E.14-03-17.06 Limit czasu: 150 minut
Zadanie egzaminacyjne
Wykonaj aplikację internetową dla gabinetu weterynaryjnego. Wykorzystaj pakiet XAMPP jako środowisko bazodanowo - aplikacyjne. Stronę internetową zbuduj przy wykorzystaniu edytora zaznaczającego składnię.
Aby wykonać zadanie zaloguj się na konto Egzamin bez hasła. Na pulpicie znajdziesz archiwum ZIP o nazwie dane2.zip, zabezpieczone hasłem: Zwi3rz3ta
Archiwum należy rozpakować.
Wyniki swojej pracy zapisz w folderze utworzonym na pulpicie konta Egzamin. Jako nazwy folderu użyj swojego numeru PESEL. Rozpakowane pliki umieść w tym folderze.
Operacje na bazie danych
Na Obrazie 1 przedstawiono tabele bazy weterynarz. Pole rodzaj z tabeli Zwierzeta określa rodzaj zwierzęcia i przyjmuje wartość 1 dla psa lub wartość 2 dla kota. Pole Uslugi_id tabeli Zwierzeta jest kluczem obcym wiążącym do klucza głównego tabeli Uslugi.
Obraz 1. Schemat bazy danych

Uruchom usługi MySQL i Apache z XAMPP Control Panel i przejdź do narzędzia phpMyAdmin. Następnie wykonaj operacje na bazie danych:
- Utwórz nową bazę danych o nazwie
weterynarz - Do bazy
weterynarzzaimportuj tabele z plikuzwierzeta.sqlz rozpakowanego archiwum - Wykonaj zrzut ekranu po imporcie. Zrzut zapisz w folderze z Twoim numerem PESEL w formacie PNG i nazwij
import-weterynarz.png. Na zrzucie powinny być widoczne elementy wskazujące na poprawnie wykonany import bazy. Nie skaluj, ani nie przycinaj obrazu - Utwórz następujące
zapytania SQLdo bazy weterynarz i sprawdź poprawność ich działania:- Zapytanie 1: wybierające jedynie pola
imie,telefon,szczepienie,opisz tabeliZwierzeta - Zapytanie 2: wybierające jedynie pola
id,imie,wlascicielz tabeliZwierzetadla tych rekordów, dla którychrodzajtopies - Zapytanie 3: korzystające z relacji i wybierające jedynie pola
imiez tabeliZwierzetaoraz odpowiadające im polanazwaz tabeliUslugi - Zapytanie 4: zwracające
średnią cenęwszystkich usług zapisanych w tabeliUslugi
- Zapytanie 1: wybierające jedynie pola
- Utworzone zapytania zapisz w folderze z Twoim numerem PESEL, w pliku
kwerendy.txt. Zapytania ponumeruj stosując format zapisu: „zapytanie 1: … treść zapytania …” - Wykonaj zrzuty ekranu przedstawiające wyniki działania kwerend. Zrzuty zapisz w formacie PNG i nadaj im nazwy
kw1,kw2,kw3,kw4. Zrzuty powinny być czytelne i wykonane bez skalowania i kadrowania, a także z widocznym paskiem zadań i godziną ich wykonania.
Witryna internetowa
Obraz 2. Witryna internetowa

Przygotowanie grafiki:
- Wykonaj obraz i jego miniaturę na podstawie grafiki
rys.pngwypakowanej z archiwum - Obraz przytnij / kadruj do ramki widocznej na
rys.png. W skadrowanym obrazie ramka ta nie powinna występować (powinna być odcięta) - Skaluj obraz z zachowaniem proporcji do szerokości
450 pxi zapisz tak przygotowany obraz jakologo.jpgwformacie JPEG - Skaluj obraz z zachowaniem proporcji do szerokości
150 pxi zapisz tak przygotowany obraz jakologo-mini.jpgwformacie JPEG
Cechy witryny:
- Nazwa strony:
weterynarz.php - Zastosowany właściwy standard kodowania polskich znaków
- Tytuł strony, widoczny na karcie przeglądarki: „Weterynarz”
- Arkusz stylów w pliku o nazwie
weterynarz.css, prawidłowo połączony z kodem strony - Podział strony na bloki:
baner, obok siebie panelelewy,środkowy,prawyzrealizowany za pomocą znaczników sekcji - Zawartość banera: nagłówek
pierwszegostopnia o treści: „GABINET WETERYNARYJNY” - Zawartość panelu lewego:
- Nagłówek
drugiegostopnia o treści: „PSY” - Wyniki działania skryptu nr 1
- Nagłówek
drugiego stopniao treści: „KOTY” - Wyniki działania skryptu nr 2
- Nagłówek
- Zawartość panelu środkowego:
- Nagłówek
drugiegostopnia o treści: „SZCZEGÓŁOWA INFORMACJA O ZWIERZĘTACH” - Wyniki działania skryptu nr 3
- Nagłówek
- Zawartość panelu prawego:
- Nagłówek
drugiegostopnia o treści: „WETERYNARZ” - Obraz
logo-mini.jpg, który jest jednocześnieodnośnikiemprowadzącym do grafikilogo.jpg, obraz powinien opływać tekst następnego akapitu zprawej strony(nie należy wykorzystywać tabeli, opływanie należy zdefiniować w kodzie CSS) - Tekst akapitu (paragrafu) o treści „Krzysztof Nowakowski, lekarz weterynarii”
- Nagłówek
drugiegostopnia o treści: „GODZINY PRZYJĘĆ” - Tabela 2 x 2 z treścią: „Poniedziałek”, „15:00 - 19:00”, „Wtorek”, „15:00 - 19:00”
- Nagłówek
Styl CSS witryny internetowej
Plik weterynarz.css zawiera formatowanie dla:
- Banera: kolor RGB tła
(105, 88, 89),białykolor czcionki, rozmiar czcionki150%, wyrównanie tekstudo środka, wysokość80 px - Panelu lewego: kolor RGB tła
(145, 127, 112), szerokość30%, wysokość600 px - Panelu środkowego: kolor RGB tła
(184, 168, 169), szerokość50%, wysokość600 px - Panelu prawego: kolor RGB tła
(145, 127, 112), szerokość20%, wysokość600 px - Nagłówka
drugiegostopnia:białykolor czcionki - Obrazu: zdefiniowane opływanie do
prawej strony - Tabeli i komórek tabeli: obramowanie o szerokości
1 px
Niewymienione właściwości obiektów przybierają wartości domyślne.
Skrypt połączenia z bazą
W Tabeli 1 podano wybór funkcji PHP do obsługi bazy danych.
Wymagania dotyczące skryptu:
- Napisany w języku PHP
- Nie jest wymagane sprawdzenie czy operacja na bazie powiodła się
- Skrypt łączy się z serwerem bazodanowym na
localhost, użytkownikrootbez hasła, baza danych o nazwieweterynarz - Na końcu działania skryptu powinno zostać obsłużone zamknięcie połączenia z serwerem
- Działanie skryptu nr 1:
- Skrypt wysyła do bazy
zapytanie 2(z plikukwerendy.txt) - Każdy zwrócony rekord jest wyświetlany w osobnej linii
- Skrypt wysyła do bazy
- Działanie skryptu nr 2:
- Identycznie jak w przypadku
skryptu nr 1, należy jednak tak zmodyfikować klauzulę warunkowązapytania 2, aby wyświetlone rekordy dotyczyłykotów
- Identycznie jak w przypadku
- Działanie skryptu nr 3:
- Skrypt wysyła do bazy
zapytanie 1(z plikukwerendy.txt) - Z każdego zwróconego rekordu wyświetlane są informacje według wzoru (tekst napisany w nawiasach < > oznacza zwrócone zapytaniem pole):
- Pacjent: <imie>
- Linia horyzontalna:
- Telefon właściciela: <telefon>
- ostatnie szczepienie: <szczepienie>
- informacje: <opis>
- Skrypt wysyła do bazy
Tabela 1. Wybór funkcji języka PHP do obsługi bazy MySQL i MariaDB
| Funkcje biblioteki mysql | Funkcje bilioteki mysqli | Zwracana wartość |
|---|---|---|
| mysql_connect(serwer, użytkownik, hasło) | mysqli_connect(serwer, uzytkownik, haslo, nazwa_bazy) | id połączenia lub FALSE, gdy niepowodzenie |
| mysql_select_db ('nazwa_bazy' [,id_polaczenia]) | mysqli_select_db(id_polaczenia, nazwa_bazy) | TRUE / FALSE, w zależności od stanu operacji |
| mysql_error([id_polaczenia]) | mysqli_error(id_polaczenia) | Tekst komunikatu błędu |
| mysql_close([id_polaczenia]) | mysqli_close(id_polaczenia) | TRUE / FALSE, w zależności od stanu operacji |
| mysql_query(zapytanie [,id_polaczenia]) | mysqli_query(id_polaczenia, zapytanie) | Wynik zapytania |
| mysql_fetch_row (wynik_zapytania) | mysqli_fetch_row(wynik_zapytania) | Tablica numeryczna odpowiadająca wierszowi zapytania |
| mysql_fetch_array (wynik_zapytania) | mysqli_fetch_array(wynik_zapytania) | Tablica zawierająca kolejny wiersz z podanych w wyniku zapytania lub FALSE, jeżeli nie ma więcej wierszy w wyniku zapytania |
| mysql_num_rows (wynik_zapytania) | mysqli_num_rows(wynik_zapytania) | Liczba wierszy w podanym zapytaniu |
| mysql_num_fields (wynik_zapytania) | mysqli_num_fields (wynik_zapytania) | Liczba kolumn w podanym zapytaniu |
- UWAGA!
- Po zakończeniu pracy nagraj płytę z rezultatami pracy. W folderze z Twoim numerem PESEL powinny się znajdować pliki: import_weterynarz.png, kw1.png, kw2.png, kw3.png, kw4.png, kwerendy.txt, logo.jpg, logo-mini.jpg, weterynarz.php, weterynarz.css, ewentualnie inne przygotowane przez Ciebie pliki.
- Po nagraniu płyty sprawdź poprawność nagrania i opisz płytę swoim numerem PESEL.
Czas przeznaczony na wykonanie zadania wynosi 150 minut.
Ocenie będą podlegać 4 rezultaty:
- operacje na bazie danych
- witryna internetowa
- styl CSS witryny internetowej
- skrypt połączenia z bazą.

Komentarze
Czy macie jakieś pytania, sugestie, uwagi? A może zauważyliście literówkę albo błąd? Dajcie koniecznie znać: kontakt@pasja-informatyki.pl. Dziękujemy za poświęcony czas - to dzięki Wam serwis staje się coraz lepszy!
Kody zniżkowe - kup taniej
Mamy fajne rabaty dla widzów naszego kanału YouTube - otóż można zamówić dwa tomy książek "Wprowadzenie do bezpieczeństwa IT" (15% taniej) oraz książkę "Twierdza Linux. Bezpieczeństwo dla dociekliwych" (10% taniej) - użyjcie odpowiedniego kodu, wpisując go w specjalne pole w koszyku:
KOD: pasja
Dostajesz rabat -15%
KOD: pasja
Dostajesz rabat -15%
KOD: pasja-linux
Dostajesz rabat -10%
Pomóż dzieciom
Polska Akcja Humanitarna od wielu lat dożywia dzieci. Proszę, poświęć teraz dosłownie chwilę i pomóż klikając w oznaczony strzałką zielony brzuszek Pajacyka. Dziękujemy!