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
Plik 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. Fragment bazy Weterynarz |
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 weterynarz zaimportuj tabele z pliku zwierzeta.sql z rozpakowanego archiwum Zawartość pliku zwierzeta.sql
- 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 SQL do bazy weterynarz i sprawdź poprawność ich działania:
- Zapytanie 1: wybierające jedynie pola imie, telefon, szczepienie, opis z tabeli Zwierzeta
- Zapytanie 2: wybierające jedynie pola id, imie, wlasciciel z tabeli Zwierzeta dla tych rekordów, dla których rodzaj to pies
- Zapytanie 3: korzystające z relacji i wybierające jedynie pola imie z tabeli Zwierzeta oraz odpowiadające im pola nazwa z tabeli Uslugi
- Zapytanie 4: zwracające średnią cenę wszystkich usług zapisanych w tabeli Uslugi - 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.png wypakowanej z archiwum
Plik rys.png - 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 px i zapisz tak przygotowany obraz jako logo.jpg w formacie JPEG
- Skaluj obraz z zachowaniem proporcji do szerokości 150 px i zapisz tak przygotowany obraz jako logo-mini.jpg w formacie JPEG
- 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 panele lewy, środkowy, prawy zrealizowany za pomocą znaczników sekcji
- Zawartość banera: nagłówek pierwszego stopnia o treści: „GABINET WETERYNARYJNY”
- Zawartość panelu lewego:
- Nagłówek drugiego stopnia o treści: „PSY”
- Wyniki działania skryptu nr 1
- Nagłówek drugiego stopnia o treści: „KOTY”
- Wyniki działania skryptu nr 2 - Zawartość panelu środkowego
- Nagłówek drugiego stopnia o treści: „SZCZEGÓŁOWA INFORMACJA O ZWIERZĘTACH”
- Wyniki działania skryptu nr 3 - Zawartość panelu prawego:
- Nagłówek drugiego stopnia o treści: „WETERYNARZ”
- Obraz logo-mini.jpg, który jest jednocześnie odnośnikiem prowadzącym do grafiki logo.jpg, obraz powinien opływać tekst następnego akapitu z prawej 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 drugiego stopnia o treści: „GODZINY PRZYJĘĆ”
- Tabela 2 x 2 z treścią: „Poniedziałek”, „15:00 - 19:00”, „Wtorek”, „15:00 - 19:00”
Styl CSS witryny internetowej
Plik weterynarz.css zawiera formatowanie dla:- Banera: kolor RGB tła (105, 88, 89), biały kolor czcionki, rozmiar czcionki 150%, wyrównanie tekstu do ś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 drugiego stopnia: biały kolor czcionki
- Obrazu: zdefiniowane opływanie do prawej strony
- Tabeli i komórek tabeli: obramowanie o szerokości 1 px
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żytkownik root bez hasła, baza danych o nazwie weterynarz
- 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 pliku kwerendy.txt)
- Każdy zwrócony rekord jest wyświetlany w osobnej linii - 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ły kotów - Działanie skryptu nr 3:
- Skrypt wysyła do bazy zapytanie 1 (z pliku kwerendy.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>Telefon właściciela: <telefon|>, ostatnie szczepienie: <szczepienie> , informacje: <opis> linia horyzontalna
Tabela 1. Wybór funkcji języka PHP do obsługi bazy MySQL i MariaDB
Czas przeznaczony na wykonanie zadania wynosi 150 minut.
operacje na bazie danych, witryna internetowa, styl CSS witryny internetowej, skrypt połączenia z bazą.