Arkusz E.14 : 2017 - styczeń - zad. 01 (php)

Oznaczenie: E.14-01-17.01   Limit czasu: 150 minut

Zadanie egzaminacyjne

Wykonaj aplikację internetową wspomagającą pracę komisu samochodowego. Wykorzystaj pakiet XAMPP jako środowisko bazodanowo-aplikacyjne. Stronę internetową zbuduj przy wykorzystaniu edytora zaznaczającego składnię lub edytora WYSITWYG.

Aby wykonać zadanie, zaloguj się na konto Egzamin bez hasła. Na pulpicie znajdziesz archiwum ZIP o nazwie komis.zip zabezpieczone hasłem: 4uto20!7

Archiwum należy rozpakować. 

Wyniki swojej pracy zapisz w folderze stworzonym na pulpicie konta Egzamin. Jako nazwy folderu użyj swojego numeru PESEL. Rozpakowane pliki umieść w tym folderze.

Operacje na bazie danych

Baza danych Komis zgodna jest ze strukturą przedstawioną na obrazie 1. Tabela zamowienia ma klucz obcy Samochody_id będący w relacji z kluczem głównym tabeli samochody.

Obraz 1. Struktura bazy danych

Struktura bazy danych

Wybierz program XAMPP Control Panel i uruchom usługi MySQL i Apache, przejdź do narzędzia phpMyAdmin. Następnie wykonaj operacje na bazie danych:

  • utwórz nową bazę danych o nazwie Komis
  • do stworzonej bazy zaimportuj tabele z pliku komis.sql z wcześniej rozpakowanego archiwum
  • wykonaj zrzut ekranu po imporcie. Zrzut zapisz w folderze z Twoim numerem PESEL w formacie PNG i nazwij bazaDanych.png. Na zrzucie powinny być widoczne elementy wskazujące na poprawnie wykonany import bazy
  • stwórz następujące zapytania SQL do bazy komis i sprawdź poprawność ich działania:
    • zapytanie 1: wybierające jedynie pola id, marka i model ze wszystkich rekordów tabeli samochody
    • zapytanie 2: wybierające jedynie pola id samochodu oraz Klient dla wszystkich rekordów tabeli zamowienia
    • zapytanie 3: wybierające wszystkie pola z tabeli samochody, dla których marka to Fiat
  • poprawnie działające 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 JPG i nadaj im nazwy kwerenda1.jpg, kwerenda2.jpg, kwerenda3.jpg. Zrzuty powinny być czytelne

Witryna internetowa

Obraz 2. Witryna internetowa

Szablon witryny

Przygotowanie grafiki:

  • plik auto.png wypakowany z archiwum należy przeskalować do wymiarów: szerokość 100px, wysokość 50px. Pozostałych atrybutów obrazu nie należy zmieniać.

Cechy witryny:

  • nazwa pliku: auto.php
  • zastosowany standard kodowania polskich znaków
  • tytuł strony widoczny na karcie przeglądarki: "Komis Samochodowy"
  • arkusz stylów w pliku o nazwie auto.css prawidłowo połączony z kodem strony
  • podział strony na bloki: baner, panele lewy i prawy, stopka zrealizowany za pomocą znaczników sekcji zgodnie z obrazem 2
  • zawartość banera: nagłówek pierwszego stopnia o treści: "SAMOCHODY"
  • zawartość panelu lewego:
    • nagłówek drugiego stopnia o treści: "Wykaz samochodów"
    • lista nienumerowana (wypunktowana) wypełniana za pomocą skryptu nr 1
    • nagłówek drugiego stopnia o treści: "Zamówienia"
    • lista nienumerowana (wypunktowana) wypełniona za pomocą skryptu nr 2
  • zawartość panelu prawego:
    • nagłówek drugiego stopnia o treści: "Pełne dane: Fiat"
    • skrypt nr 3
  • zawartość stopki:
    • tabela o jednym wierszu i trzech kolumnach:
      • w komórce 1 odnośnik o treści "Kwerendy" prowadzący do pliku kwerendy.txt
      • w komórce 2 napis "Autor:" oraz wstawiony Twój numer PESEL
      • w komórce 3 obraz auto.png. Tekst alternatywny: "komis samochodowy"

Styl CSS witryny internetowej

Plik auto.css zawiera formatowanie dla:

  • banera: kolor tła #45517D, biały kolor czcionki, rozmiar czcionki 120%, wyrównanie tekstu do prawej strony, wysokość banera 60px
  • panelu lewego: kolor tła #61B2EC, szerokość 40%, wysokość 500px
  • panelu prawego: kolor tła #8EC9F2, szerokość 60%, wysokość 500px
  • stopki: kolor tła #45517D, biały kolor czcionki, rozmiar czcionki 150%, wyrównanie tekstu do środka
  • odnośników: odnośnik niewybrany w kolorze pomarańczowym, odwiedzony w kolorze zielonym
  • tabeli: szerokość tabeli zajmuje 100% strony

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 skryptów:

  • napisany w języku PHP
  • nie jest wymagane sprawdzenie, czy operacja powiodła się
  • skrypt łączy się z serwerem bazodanowym localhost, użytkownik root bez hasła, baza danych o nazwie Komis
  • 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 pliku kwerendy.txt)
    • Każdy rekord (id, marka, model) jest wyświetlany w kolejnym punkcie listy "Wykaz samochodów" panelu lewego
  • działanie skryptu nr 2:
    • Skrypt wysyła do bazy zapytanie 2 (z pliku kwerendy.txt)
    • Każdy rekord (id samochodu, Klient) jest wyświetlany w kolejnym punkcie listy "Zamówienia" panelu lewego
  • działanie skryptu nr 3:
    • Skrypt wysyła do bazy zapytanie 3 (z pliku kwerendy.txt)
    • Każdy rekord wyświetlany jest w osobnej linii, pola rekordu oddzielone znakiem /

Tabela 1. Wybór funkcji języka PHP do obsługi bazy MySQL i MariaDB

Funkcja biblioteki mysqli Zwracana wartość
mysqli_connect(serwer, uzytkownik, haslo, nazwa_bazy) id połączenia lub FALSE, gdy niepowodzenie
mysqli_select_db(id_polaczenia, nazwa_bazy) TRUE / FALSE, w zależności od stanu operacji
mysqli_error(id_polaczenia) Tekst komunikatu błędu
mysqli_close(id_polaczenia) TRUE / FALSE, w zależności od stanu operacji
mysqli_query(id_polaczenia, zapytanie) Wynik zapytania
mysqli_fetch_row(wynik_zapytania) Tablica numeryczna odpowiadająca wierszowi 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
mysqli_num_rows(wynik_zapytania) Liczba wierszy w podanym zapytaniu
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: auto.css, auto.php, auto.png, bazaDanych.png, kwerenda1.jpg, kwerenda2.jpg, kwerenda3.jpg, kwerendy.txt, ewentualnie inne przygotowane przez Ciebie pliki.
Po nagraniu płyty CD/DVD sprawdź liczbę oraz poprawność działania zapisanych plików.

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ą.