Arkusz E.14 : 2016 - czerwiec - zad. 01 (php)
Oznaczenie: E.14-01-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
Archiwum nalezy rozpakować.
Wyniki swojej pracy zapisz w folderze stworzonym na pulpicie konta Egzamin
. Jako nazwy folderu użyj swojego numeru PESEL
.
Baza danych szkola
jest zgodna ze strukturą przedstawioną na obrazie 1
. Tabela ocena
ma dwa klucze obce: przedmiot_id
oraz uczen_id
odpowiadające relacjom między tabelami.
Obraz 1. Struktura bazy danych
Dla uproszczenia operacji, pomiń tabelę przedmiot
i przyjmij, że pole przedmiot_id
zawiera identyfikatory przedmiotów zgodne z Tabelą 1
.
Tabela 1. Przedmoty 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 Panel
i uruchom usługiApache
orazMySQL
. Wybierz w przeglądarce adres//localhost/
, a następnie narzędziephpMyAdmin
- utwórz nową bazę danych o nazwie
szkola
- zaimportuj bazę
szkola.sql
z 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 SQL
do bazyszkola
i sprawdź poprawność ich działania:- zapytanie 1: wybierające wszystkie
imiona
inazwiska
z tabeliuczen
- zapytanie 2: wybierające
imię
inazwisko
ucznia oid = 2
- zapytanie 3: wybierające oceny z przedmiotu
język polski
dla ucznia oid = 2
- zapytanie 4: liczące średnią ocen z przedmiotu
język polski
dla ucznia oid = 2
- zapytanie 1: wybierające wszystkie
- zapytania zapisz w pliku
kwerendy.txt
. Ponumeruj je, stosując format zapisu: "zapytanie 1: (treść zapytania)"
Witryna internetowa
Obraz 2. Witryna internetowa
Cechy witryny:
- nazwa pliku:
polski.php
- zastosowany właściwy standard kodowania polskich znaków
- tytuł strony, widoczny na karcie przeglądarki: "Szkoła Ponadgimnazjalna"
- arkusz stylów w pliku o nazwie
styl.css
, prawidłowo dołączony do pliku z kodem strony - podział strony na bloki:
baner
, panelelewy
iprawy
,stopka
zrealizowany za pomocną znaczników sekcji - zawartość banera: nagłówek
pierwszego
stopnia o treści: "Oceny uczniów: język polski" - zawartość panelu lewego: nagłowek
drugiego
stopnia o treści: „Lista uczniów: ”, poniżej listanumerowana
wypełniana za pomocą skryptu - zawartość panelu prawego: nagłówek
drugiego
stopnia o treści: „Uczeń: ”, dalej skrypt; paragraf (akapit) o treści: „Średnia ocen z języka polskiego: ”, dalej skrypt - zawartość stopki: nagłówek
trzeciego
stopnia o treści: "Zespół Szkół Ponadgimnazjalnych", poniżej paragraf o treści: "Stronę opracował: ", dalej wpisanynumer PESEL
zdającego
Styl CSS witryny internetowej
Cechy stylu css:
- definicja w pliku
styl.css
, prawidłowo podpięty pod plik z kodem strony - formatowanie banera: kolor tła:
#3A7AD9
, wyrównanie tekstu:do środka
, wysokość:50 px
- formatowanie panelu lewego: kolor tła:
#5D93E2
, wysokość:400 px
, szerokość:30%
- formatowanie panelu prawego: kolor tła:
#88B0EC
, wysokość:400 px
, szerokość70%
- formatowanie stopki: kolor tła:
#3A7AD9
, wyrówanie tekstu:do prawej strony
Skrypt połączenia z bazą
W tabeli 2
podano wybór funkcji php
do obsługi bazy MySQL
Wymagania dotyczące skryptu:
- jest 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 połączenia:localhost
, użytkownikroot
, bez 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 1
(z plikukwerendy.txt
) - następnie wyświetla wszystkie zwrócone w wyniku zapytania rekordy w liście
numerowanej
. 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 w przykładzie)
- skrypt wysyła do bazy
- działanie skryptu w prawym panelu:
- skrypt wysyła do bazy
zapytanie 2
(z plikukwerendy.txt
) - w kodzie strony, po słowie "Uczeń:" wypisuje
imię
inazwisko
zwrócone zapytaniem. Imię i nazwisko powinno zawierać się w nagłówkudrugiego
stopnia - skrypt wysyła do bazy
zapytanie 4
(z plikukwerendy.txt
) - w kodzie strony po tekście "Średnia ocen z języka polskiego:" wypisuje średnią ocen zwróconą zapytaniem
- 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 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, polski.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 podlegać będą 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!
Zamów książki o IT sec z kodem: pasja
Można już zamawiać dwa tomy książek "Wprowadzenie do bezpieczeństwa IT". Mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności! Zamówień można dokonywać tutaj:
Tom 1 Tom 2Pomóż 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!