|
Egzamin zawodowy - Rok 2026 Część praktyczna |
|
Nazwa kwalifikacji: Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych Oznaczenie kwalifikacji: INF.03 Numer zadania: 14 Wersja: SG Autor arkusza: Tomasz Puchała, toloki.pl |
ithelp.sql (skrypt tworzący bazę danych i przykładowe zgłoszenia),
szablon_ithelp.png (zrzut ekranu wyglądu panelu).
Wykonaj internetowy panel zgłoszeń serwisowych „IT‑Help”, który pozwala pracownikom działu IT przeglądać zgłoszenia klientów zapisane w bazie danych, filtrować je według statusu oraz wyróżniać zgłoszenia o wysokim priorytecie.
Panel powinien korzystać z bazy danych MySQL, skryptów w języku PHP oraz JavaScript po stronie klienta. Zadbaj o czytelny wygląd zgodny z załączonym szablonem graficznym.
Utwórz bazę danych ithelp i tabelę zgloszenia zgodnie ze skryptem z pliku ithelp.sql.
Struktura tabeli zgloszenia:
id – int, klucz główny, auto_increment,klient – varchar(60), not null,temat – varchar(100), not null,opis – text, not null,data_zgloszenia – date, not null,status – enum('Nowe','W realizacji','Zamknięte'), not null,priorytet – enum('Niski','Średni','Wysoki'), not null.Zaimportuj przykładowe dane z pliku ithelp.sql do tabeli zgloszenia przy użyciu phpMyAdmin.
zapytania_ithelp_[PESEL].txt w katalogu C:\EGZAMIN\[PESEL]\.zgloszenia, na poziomie egzaminu INF.03, np.:
SELECT klient, temat, status, priorytet FROM zgloszenia WHERE priorytet = 'Wysoki';
SELECT COUNT(*) AS nowe_zgloszenia FROM zgloszenia WHERE status = 'Nowe';
SELECT klient, temat, data_zgloszenia FROM zgloszenia WHERE YEAR(data_zgloszenia) = 2026;
SELECT status, COUNT(*) AS liczba FROM zgloszenia GROUP BY status;
C:\EGZAMIN\[PESEL]\htdocs\ithelp utwórz plik index.php.style.css oraz plik skryptu JavaScript skrypt.js.index.php utwórz poprawną strukturę HTML5 i dołącz pliki style.css oraz skrypt.js.Na rysunku (plik szablon_ithelp.png) przedstawiono przykładowy wygląd panelu zgłoszeń.
| ID | Klient | Temat | Status | Priorytet | Data |
|---|---|---|---|---|---|
| 5 | Firma ABC | Brak dostępu do VPN | Nowe | Wysoki | 2026-01-09 |
| 6 | Jan Kowalski | Nie działa drukarka | W realizacji | Średni | 2026-01-08 |
| 7 | Sklep XYZ | Aktualizacja oprogramowania kas | Zamknięte | Niski | 2026-01-07 |
Liczba wyświetlonych zgłoszeń: 7
Strona index.php powinna odwzorowywać powyższy układ:
nagłówek z nazwą panelu, lewy panel filtrów statusu i priorytetu oraz tabela zgłoszeń z kolorami wierszy
zależnymi od priorytetu, a także stopka z numerem PESEL zdającego.
W pliku index.php zaimplementuj następujące funkcje z wykorzystaniem biblioteki mysqli.
ithelp na serwerze localhost z użyciem użytkownika root bez hasła.zgloszenia listę wszystkich różnych statusów i wyświetl je jako opcje w polu <select> formularza (dodaj opcję „Wszystkie”).W pliku skrypt.js zaimplementuj skrypty działające po stronie klienta na już wygenerowanej tabeli zgłoszeń.
#ffdddd),#fff8dc),#e6ffe6).W pliku style.css nadaj panelowi wygląd zbliżony do szablonu:
#003366) i białym tekstem,R1. Poprawnie utworzona baza danych ithelp i tabela zgloszenia z zaimportowanymi danymi.
R2. Plik index.php realizujący połączenie z bazą danych, filtrowanie zgłoszeń według statusu oraz wyświetlanie ich w tabeli wraz z liczbą zgłoszeń.
R3. Plik skrypt.js poprawnie nadający kolory wierszom według priorytetu, obsługujący przycisk „Pokaż tylko wysoki priorytet” oraz liczący zgłoszenia „Nowe”.
R4. Plik style.css nadający panelowi wygląd zgodny z opisem i szablonem graficznym.
R5. Kompletny folder ithelp w katalogu C:\EGZAMIN\[PESEL]\htdocs\ oraz plik zapytania_ithelp_[PESEL].txt z poprawnymi zapytaniami SQL.
Plik ithelp.sql zawiera skrypt tworzący bazę danych ithelp, tabelę zgloszenia oraz przykładowe dane.
CREATE DATABASE IF NOT EXISTS ithelp
CHARACTER SET utf8
COLLATE utf8_general_ci;
USE ithelp;
DROP TABLE IF EXISTS zgloszenia;
CREATE TABLE zgloszenia (
id INT AUTO_INCREMENT PRIMARY KEY,
klient VARCHAR(60) NOT NULL,
temat VARCHAR(100) NOT NULL,
opis TEXT NOT NULL,
data_zgloszenia DATE NOT NULL,
status ENUM('Nowe','W realizacji','Zamknięte') NOT NULL,
priorytet ENUM('Niski','Średni','Wysoki') NOT NULL
) ENGINE=InnoDB
DEFAULT CHARSET=utf8
COLLATE utf8_general_ci;
INSERT INTO zgloszenia (klient, temat, opis, data_zgloszenia, status, priorytet) VALUES
('Firma ABC', 'Brak dostępu do VPN',
'Pracownicy nie mogą połączyć się z siecią firmową przez VPN.',
'2026-01-09', 'Nowe', 'Wysoki'),
('Jan Kowalski', 'Problem z drukarką',
'Drukarka w dziale księgowości nie drukuje dokumentów.',
'2026-01-08', 'W realizacji', 'Średni'),
('Sklep XYZ', 'Zawieszający się program magazynowy',
'Aplikacja magazynowa zawiesza się podczas generowania raportu.',
'2026-01-07', 'Nowe', 'Wysoki'),
('Anna Nowak', 'Reset hasła do poczty',
'Użytkownik zapomniał hasła do konta e-mail.',
'2026-01-06', 'Zamknięte', 'Niski'),
('Firma Delta', 'Wolne działanie sieci',
'Użytkownicy zgłaszają bardzo wolne działanie internetu.',
'2026-01-05', 'W realizacji', 'Średni'),
('Biuro Rondo', 'Brak dostępu do serwera plików',
'Użytkownicy nie widzą udziału sieciowego na serwerze plików.',
'2026-01-04', 'Nowe', 'Wysoki'),
('Marek Lis', 'Aktualizacja oprogramowania antywirusowego',
'Prośba o instalację najnowszej wersji programu antywirusowego.',
'2026-01-03', 'Zamknięte', 'Niski');