Arkusz E.14 : 2017 - czerwiec - zad. 01 (php)
Oznaczenie: E.14-01-17.06 Limit czasu: 150 minut
Zadanie egzaminacyjne
Wykonaj aplikację internetową dla przychodni lekarskiej. 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 dane.zip, zabezpieczone hasłem: L3karz
Archiwum należy rozpakować.
Wyniki swojej pracy zapisz w folderze utworzonym na pulpicie konta Egzamin. Jako nazwy folderu użyj swojego numeru PESEL. Rozpakowany plik umieść w tym folderze.
Operacje na bazie danych
Na obrazie 1 przedstawiono tabelę Pacjenci, która jest fragmentem bazy danych przychodni.
Obraz 1. Tabela Pacjenci

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
przychodnia - Do bazy przychodnia zaimportuj tabele z pliku
przychodnia.sqlz rozpakowanego archiwum - Wykonaj zrzut ekranu po imporcie. Zrzut zapisz w folderze z Twoim numerem PESEL w formacie PNG i nazwij
import-przychodnia.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 przychodnia i sprawdź poprawność ich działania:- Zapytanie 1: wybierające jedynie pola
id,imie,nazwiskoz tabeliPacjenci - Zapytanie 2: wybierające jedynie pola
imie,nazwisko,choroby_przewlekle,uczuleniaz tabelipacjencidlaidrównego1 - Zapytanie 3: wybierające jedynie pola
imie,nazwiskoz tabelipacjencidla tych rekordów, dla których wartość polauczuleniajest równa ‘brak’
- 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 JPEG i nadaj im nazwy
kw1,kw2,kw3. Zrzuty powinny być czytelne oraz wykonane bez skalowania i kadrowania, a także z widocznym paskiem zadań i godziną ich wykonania.
Witryna internetowa
Obraz 2. Strona przychodnia.php

Obraz 2. Strona pacjent.php

Cechy witryny wspólne dla obu stron:
- Dwie strony:
przychodnia.phporazpacjent.php - Zastosowany właściwy standard kodowania polskich znaków
- Tytuł strony, widoczny na karcie przeglądarki: „Przychodnia”
- Arkusz stylów w pliku o nazwie
przychodnia.css, prawidłowo połączony z kodem strony - Podział strony na bloki:
baner, panelelewyiprawy,stopkazrealizowany za pomocą znaczników sekcji - Zawartość banera: nagłówek
pierwszegostopnia o treści: „PRAKTYKA LEKARZA RODZINNEGO” - Zawartość panelu lewego:
- Nagłówek
trzeciegostopnia o treści: „LISTA PACJENTÓW” - Wyniki działania
skryptu nr 1 - Odstęp na
dwie linie - Formularz, który po zatwierdzeniu wyświetla stronę
pacjent.php - Zawartość formularza: tekst „Podaj id:”, w kolejnej linii pole do wprowadzania danych typu
numerycznegooraz przycisk z napisem „Pokaż dane” zatwierdzający formularz - Nagłówek
trzeciegostopnia o treści: „LEKARZE” - Lista zagnieżdżona zgodna z
obrazem 3. Kolejne napisy: pn – śr, Anna Kwiatkowska, Jan Kowalewski, czw – pt, Krzysztof Nowak
- Nagłówek
Obraz 3. Lista zagnieżdżona

- Zawartość panelu prawego:
- Nagłówek
drugiegostopnia o treści: „INFORMACJE SZCZEGÓŁOWE O PACJENCIE”
- Nagłówek
- Zawartość stopki:
- Tekst akapitu (paragrafu) o treści: „utworzone przez: ”, dalej Twój
numer PESEL - Odnośnik o treści: „Pobierz plik z kwerendami”, wskazujący na plik
kwerendy.txt
- Tekst akapitu (paragrafu) o treści: „utworzone przez: ”, dalej Twój
Dodatkowe cechy strony przychodnia.php dla panelu prawego:
- Pod napisem „INFORMACJE…” znajduje się akapit (paragraf) „Brak wybranego pacjenta”
Dodatkowe cechy strony pacjent.php dla panelu prawego:
- Pod napisem „INFORMACJE…” jest wyświetlony efekt działania skryptu nr 2
Styl CSS witryny internetowej
Plik przychodnia.css zawiera formatowanie dla:
- Banera: kolor RGB tła
(66, 22, 42),białykolor czcionki, rozmiar czcionki140%, wyrównanie tekstudo środka, wysokość100 px - Panelu lewego: kolor RGB tła
(142, 115, 110), szerokość30%, wysokość600 px,białykolor czcionki - Panelu prawego: kolor RGB tła
(230, 230, 230), szerokość70%, wysokość600 px, rozmiar czcionki120% - Stopki: kolor RGB tła
(142, 115,110),białykolor czcionki, wyrównanie tekstudo prawej strony, wysokość100 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 nazwieprzychodnia - 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 1(z plikukwerendy.txt) - Każdy zwrócony rekord jest wyświetlany w osobnej linii
- Skrypt wysyła do bazy
- Działanie skryptu nr 2:
- Skrypt wykorzystuje dane wysłane z formularza
- Wykorzystując
zapytanie 2(z plikukwerendy.txt), należy je tak przekształcić, aby w klauzuli warunku poleidbyło równe wartości przesłanej z formularza - Skrypt wysyła do bazy zmodyfikowane
zapytanie 2 - Dane zwrócone wypisywane są w kolejnych akapitach (paragrafach), tekst napisany w nawiasach < > oznacza zwrócone zapytaniem pole:
- Imię i nazwisko: <imie> <nazwisko>
- Choroby przewlekłe: <choroby_przewlekle>
- Uczulenia: <uczulenia>
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_przychodnia.png, kw1.jpg, kw2.jpg, kw3.jpg, kwerendy.txt, pacjent.php, przychodnia.css, przychodnia.php, 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!