Arkusz E.14 : 2016 - czerwiec - zad. 02 (php)
Oznaczenie: E.14-02-16.05 Limit czasu: 150 minut
Zadanie egzaminacyjne
Wykonaj projekt polegający na opracowaniu zapytań do bazy i stworzeniu witryny internetowej wykorzystującej te zapytania. Wykorzystaj do tego celu pakiet XAMPP z bazą MySQL i narzędziem phpMyAdmin. Stronę internetową zbuduj przy wykorzystaniu edytora zaznaczającego składnię lub edytora WYSIWYG.
Aby wykonać zadanie, zaloguj się na konto Egzamin bez hasła. Na pulpicie znajdziesz archiwum ZIP o nazwie baza1.zip, zabezpieczone hasłem: Baza!Baza
Plik należy rozpakować.
Wyniki swojej pracy zapisz w folderze stworzonym na pulpicie konta Egzamin. Jako nazwy folderu użyj swojego numeru PESEL.
Operacje na bazie danych
Baza danych szkola zgodna jest ze strukturą przedstawioną na rysunku 1. Tabela ocena ma dwa klucze obce: przedmiot_id oraz uczen_id odpowiadające relacjom między tabelami.
Rysunek 1. Baza danych szkola

Dla uproszczenia zadań, pomiń tabelę przedmiot i przyjmij, że pole przedmiot_id zawiera identyfikatory przedmiotów zgodne z tabelą 1.
Tabela 1. Przedmioty i ich identyfikatory
| Przedmiot | Identyfikator |
|---|---|
| język polski | 1 |
| matematyka | 2 |
| język angielski | 3 |
| biologia | 4 |
| chemia | 5 |
Wykonaj następujące operacje na bazie danych:
- wybierz program
XAMPP Control Paneli uruchom usługiApacheorazMySQL. Wybierz w przeglądarce adres//localhost/, a następnie narzędziephpMyAdmin - utwórz nową bazę danych o nazwie
szkola - zaimportuj bazę
szkola.sqlz wcześniej rozpakowanego archiwum - wykonaj zrzut ekranu po imporcie. Zrzut zapisz w formacie PNG i nazwij
import.png. Na zrzucie powinny być widoczne elementy wskazujące na poprawnie wykonany import (okno programu phpMyAdmin, widoczna baza danych, np. tabele, pola) - stwórz następujące
zapytania SQLdo bazyszkolai sprawdź poprawność ich działania:- zapytanie 1: wybierające wszystkie
nazwiskainumery PESELz tabeliuczen - zapytanie 2: wybierające
imięinazwiskoucznia oid=1 - zapytanie 3: wybierające
najwyższąocenę z przedmiotubiologiadla ucznia oid=1 - zapytanie 4: liczące
ilość ocenz przedmiotubiologiadla ucznia oid=1
- zapytanie 1: wybierające wszystkie
- zapytania zapisz w pliku
kwerendy.txt. Ponumeruj je, stosując format zapisu: „zapytanie 1: ….. treść zapytania ….”.
Witryna internetowa
Witryna internetowa przedstawiona jest na rysunku 2.
Rysunek 2. Witryna internetowa

Cechy witryny:
- nazwa pliku:
biologia.php - zastosowany właściwy standard kodowania polskich znaków
- tytuł strony widoczny na karcie przeglądarki: „Szkoła Podstawowa”
- arkusz stylów w pliku o nazwie:
styl.css, prawidłowo dołączony do pliku z kodem strony - podział strony na bloki:
baner, panelelewyiprawy,stopkazrealizowany za pomocą znaczników sekcji (np. znacznikadiv) - zawartość banera: nagłówek
pierwszegostopnia o treści: „Oceny uczniów: biologia” - zawartość panelu lewego: nagłówek
trzeciegostopnia o treści: „Uczeń: ”, dalej skrypt; paragraf (akapit) o treści: „Najwyższa ocena z biologii: ”, dalej skrypt - zawartość panelu prawego: nagłówek
trzeciegostopnia o treści: „Nazwiska i numery PESEL uczniów: ”, poniżej listapunktowanawypełniana za pomocą skryptu - zawartość stopki: nagłówek
drugiegostopnia o treści: „Szkoła Podstawowa”, poniżej paragraf o treści: „Stronę opracował: ”, dalej wpisanynumer PESELzdającego
Styl CSS witryny internetowej
Cechy stylu CSS:
- definicja w pliku
styl.css, styl prawidłowo podpięty pod plik z kodem strony - formatowanie banera: kolor tła:
#875080, wyrównanie tekstu:do środka, wysokość50 px - formatowanie panelu lewego: kolor tła:
#C2A6BF, wysokość:300 px, szerokość:75% - formatowanie panelu prawego: kolor tła:
#A1759C, wysokość:300 px, szerokość:25% - formatowanie stopki: kolor tła:
#875080, wyrównanie tekstu:do prawej strony
Skrypt połączenia z bazą
Dla ułatwienia w tabeli 2 podano wybór funkcji PHP do obsługi bazy MySQL. Wymagania dotyczące skryptu:
- napisany w języku PHP
- nie jest wymagane sprawdzenie, czy operacja powiodła się, i wyświetlenie stosownego komunikatu
- skrypt powinien połączyć się z serwerem MySQL, parametry:
localhost, użytkownikrootbez hasła - skrypt powinien wybrać bazę danych o nazwie
szkola - na końcu działania skryptu powinno zostać obsłużone zamknięcie połączenia z serwerem
- działanie skryptu w lewym panelu:
- skrypt wysyła do bazy
zapytanie 2(z plikukwerendy.txt) - w kodzie strony, po słowie „Uczeń:” wypisuje
imięinazwiskozwrócone zapytaniem. Imię i nazwisko powinno zawierać się w nagłówkutrzeciegostopnia - skrypt wysyła do bazy
zapytanie 3(z plikukwerendy.txt) - w kodzie strony, po tekście „Najwyższa ocena z biologii: ” wypisuje ocenę maksymalną zwróconą zapytaniem
- skrypt wysyła do bazy
- działanie skryptu w prawym panelu:
- skrypt wysyła do bazy
zapytanie 1(z plikukwerendy.txt) - następnie wyświetla wszystkie zwrócone zapytaniem rekordy w liście
nienumerowanej. Należy założyć, że baza będzie się rozrastać, więc skrypt powinien wyświetlać taką liczbę wierszy, jaką zwróci zapytanie (nie należy na sztywno wypisywać dwóch wierszy, jak na przykładzie)
- skrypt wysyła do bazy
Tabela 2. Wybór funkcji języka PHP do obsługi bazy MySQL
| Funkcje biblioteki mysql | Zwracana wartość |
|---|---|
| mysql_connect(serwer, użytkownik, hasło) | id połączenia lub FALSE, gdy niepowodzenie |
| mysql_select_db ('nazwa_bazy' [,id_polaczenia]) | TRUE / FALSE, w zależności od stanu operacji |
| mysql_error([id_polaczenia]) | Tekst komunikatu błędu |
| mysql_close([id_polaczenia]) | TRUE / FALSE, w zależności od stanu operacji |
| mysql_query(zapytanie [,id_polaczenia]) | Wynik zapytania |
| mysql_fetch_row (wynik_zapytania) | Tablica numeryczna odpowiadająca wierszowi zapytania |
| mysql_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) | Liczba wierszy w podanym zapytaniu |
| mysql_num_fields (wynik_zapytania) | Liczba kolumn w podanym zapytaniu |
- UWAGA!
- Po zakończeniu pracy zgłoś przewodniczącemu ZN gotowość do nagrania płyty z rezultatami pracy. W folderze z Twoim numerem PESEL powinny się znajdować pliki: import.png, kwerendy.txt, biologia.php, styl.css, ewentualnie inne przygotowane przez Ciebie pliki.
- Po nagraniu płyty sprawdź jej poprawność.
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!