# data[].attributes.headline
Egzamin 20 - zadanie z PHP - Arkusz EE.09-04-22.01-SG  - wiosna 2022 - Wersja #04

# data[].attributes.subject
Egzamin 20 - zadanie z PHP - Arkusz EE.09-04-22.01-SG  - wiosna 2022 - Wersja #04

# data[].attributes.body
Arkusz EE.09-01-21.01-SG - Styczeń 2021 - Wersja #01

# data[].attributes.body
czerwiec 2024

# data[].attributes.body
Zadanie egzaminacyjne na 2025-10-09

# data[].attributes.body
Zadanie nr 9 czerwiec 2025

# data[].attributes.body
Baza pracownicy *.sql + zdjęcia

# data[].attributes.body
koszyk , koszyk zakupów

# data[].attributes.body
Baza danych: znajomi , tabela: kontakty

# data[].attributes.body
Restauracja 2024

# data[].attributes.body
2024/2025

# data[].attributes.body
Pobierz plik z przykladami

# data[].attributes.headline
5at Kartkówka nr 5, Pracownicy, pracownicy.sql, 

# data[].attributes.subject
5at Kartkówka nr 5, Pracownicy, pracownicy.sql, 

# data[].attributes.attachment_link.readable_text
-- phpMyAdmin SQL Dump
-- version 5.1.1
-- https://www.phpmyadmin.net/
--
-- Host: 127.0.0.1
-- Czas generowania: 23 Pa�� 2024, 13:01
-- Wersja serwera: 10.4.22-MariaDB
-- Wersja PHP: 8.1.2

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
START TRANSACTION;
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;

--
-- Baza danych: `firma`
--

-- --------------------------------------------------------

--
-- Struktura tabeli dla tabeli `pracownicy`
--

CREATE TABLE `pracownicy` (
  `dzial` varchar(12) DEFAULT NULL,
  `idp` int(2) NOT NULL,
  `imie` varchar(9) DEFAULT NULL,
  `nazwisko` varchar(12) DEFAULT NULL,
  `telefon` varchar(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Zrzut danych tabeli `pracownicy`
--

INSERT INTO `pracownicy` (`dzial`, `idp`, `imie`, `nazwisko`, `telefon`) VALUES
('marketing', 1, 'Jan', 'Mruczek', '333-333-333'),
('obs��uga IT', 2, 'Bartosza', 'Konika', '312-376-262'),
('marketing', 3, 'Aniela', 'Pokara', '447-418-424'),
('sprzeda��', 4, 'Kamila', 'Machlak', '557-543-353'),
('obs��uga IT', 5, 'Jan', 'Kokoszek', '615-654-222'),
('marketing', 6, 'Jan', 'Nowacki', '734-709-545'),
('sprzeda��', 7, 'Stefania', 'Maliniak', '803-842-777'),
('sprzeda��', 9, 'Marcin', 'Kot', '902-945-373'),
('sprzeda��', 10, 'Emil', 'Czupara', '323-313-595');

--
-- Indeksy dla zrzut��w tabel
--

--
-- Indeksy dla tabeli `pracownicy`
--
ALTER TABLE `pracownicy`
  ADD PRIMARY KEY (`idp`);

--
-- AUTO_INCREMENT dla zrzuconych tabel
--

--
-- AUTO_INCREMENT dla tabeli `pracownicy`
--
ALTER TABLE `pracownicy`
  MODIFY `idp` int(2) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=41;
COMMIT;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

# data[].attributes.body
Materiały pomocnicze

# data[].attributes.body
Klasa 4at - grudzień 2023

# data[].attributes.body
phpseria

# data[].attributes.body
Kwiaciarnia

# data[].attributes.body
15 zadań przed sprawdzianem

# data[].attributes.body
pogoda.zip

# data[].attributes.body
nowa wersja

# data[].attributes.body
3at 2023

# data[].attributes.body
Egzamin próbny nr 1 INF.03

# data[].attributes.body
Grafiki do projektu

# data[].attributes.body
3at - 2 strony

# data[].attributes.body
bez css

# data[].attributes.body
Zadanie egzaminacyjne nr 1, bez gotowego CSS i skryptu JS

# data[].attributes.body
Pliki startowe

# data[].attributes.body
pracownicy

# data[].attributes.attachment_link.readable_text
import { useState } from 'react';
import './App.css';

import Worker from './components/Worker';

function App() {

  let workersList =  [
    {
      idw: 1,
      name: "Jan",
      surename: "Nowak",
      workplace: "DziaÅ obsÅugi"
    },
    {
      idw: 2,
      name: "Ewa",
      surename: "Bieniek",
      workplace: "DziaÅ sprzedaÅ¼y"
    },
    {
      idw: 3,
      name: "Maria",
      surename: "KoÅ",
      workplace: "DziaÅ sprzedaÅ¼y"
    },
    {
      idw: 4,
      name: "Antonina",
      surename: "Nowy",
      workplace: "Sekretariat"
    }
  ]


  
    return (
      <>
          <h2>Usuwanie pracownika z listy</h2>
          <div className="workers">
              <h2>Liczba pracownikÃ³w: {workers.length}</h2>
          </div>
          {workers.map(worker => <Worker key={worker.idw} idw={worker.idw} name={worker.name} surename = {worker.surename}  workplace = {worker.workplace} handleDeleteWorker = {handleDeleteWorker } />)}
          
      </>
    );
  
}

export default App;

# data[].attributes.body
Materiały do ćwiczeń z jQuery cz. 1

# data[].attributes.body
1 zajęcia

# data[].attributes.body
4as

# data[].attributes.body
ćwiczenia dla 2 at

# data[].attributes.body
sprawdzian

# data[].attributes.body
NBP

# data[].attributes.body
próbny 4

# data[].attributes.body
Egzamin próbny nr 3

# data[].attributes.body
Przykład prostej galerii opartej o plik JSON

# data[].attributes.body
Plik SQL, treść zadania, grafika

# data[].attributes.body
Klasa 3at, projekt strony WWW, grafiki do wstępnego projektu.

# data[].attributes.body
lista mailingowa, dane

# data[].attributes.attachment_link.readable_text
-- phpMyAdmin SQL Dump
-- version 5.0.4
-- https://www.phpmyadmin.net/
--
-- Host: 127.0.0.1
-- Czas generowania: 02 Lis 2022, 13:18
-- Wersja serwera: 10.4.17-MariaDB
-- Wersja PHP: 8.0.0

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
START TRANSACTION;
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;

--
-- Baza danych: `mojedane`
--

-- --------------------------------------------------------

--
-- Struktura tabeli dla tabeli `maile`
--

CREATE TABLE `maile` (
  `id` int(3) NOT NULL,
  `mail` varchar(33) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Zrzut danych tabeli `maile`
--

INSERT INTO `maile` (`id`, `mail`) VALUES
(1, 'apostolos.stober@gov.pl'),
(2, 'birgit.merkel@gov.pl'),
(3, 'camilla.franzen@erzeszow.pl'),
(4, 'carlos.vogl@erzeszow.pl'),
(5, 'carmela.steffens@erzeszow.pl'),
(6, 'celal.limmer@gov.pl'),
(7, 'christiane.schultz@erzeszow.pl'),
(8, 'cynthia.brinkmann@gov.pl'),
(9, 'elizabeth.bunge@gov.pl'),
(10, 'frieda.burmester@gov.pl'),
(11, 'guido.mertes@erzeszow.pl'),
(12, 'helga.korte@gov.pl'),
(13, 'ingo.wesemann@erzeszow.pl'),
(14, 'jeremy.wernicke@erzeszow.pl'),
(15, 'jose.kamp@erzeszow.pl'),
(16, 'maya.horn@erzeszow.pl'),
(17, 'mike.knaus@erzeszow.pl'),
(18, 'natali.schaarschmidt@gov.pl'),
(19, 'reza.markgraf@gov.pl'),
(20, 'sandro.wisniewski@erzeszow.pl'),
(21, 'severin.fleischer@erzeszow.pl'),
(22, 'sibel.mathes@gov.pl'),
(23, 'ulf.link@gov.pl'),
(24, 'vera.mollmann@erzeszow.pl'),
(25, 'wiltrud.greger@erzeszow.pl'),
(26, 'wulf.holm@erzeszow.pl'),
(27, 'turkan.till@example.com'),
(28, 'claudia.knoll@example.com'),
(29, 'zeljko.mock@example.com'),
(30, 'gunhild.welz@example.com'),
(31, 'christin.hack@example.com'),
(32, 'bayram.hubert@example.com'),
(33, 'robin.holscher@example.com'),
(34, 'agatha.pahl@example.com'),
(35, 'pascale.kolbeck@example.com'),
(36, 'hans-willi.wacker@example.com'),
(37, 'alf.walker@example.com'),
(38, 'konstantinos.heidrich@example.com'),
(39, 'evamaria.schott@example.com'),
(40, 'ellinor.spies@example.com'),
(41, 'monique.kuch@example.com'),
(42, 'edith.grunwald@example.com'),
(43, 'sylvana.lehr@example.com'),
(44, 'mechthild.rupp@example.com'),
(45, 'yilmaz.linz@example.com'),
(46, 'hans-gerhard.wiegel@example.com'),
(47, 'ottmar.baur@example.com'),
(48, 'henryk.oppermann@example.com'),
(49, 'raphaela.linnemann@example.com'),
(50, 'gerolf.ulmer@example.com'),
(51, 'konstantinos.haak@example.com'),
(52, 'sibel.kahl@example.com'),
(53, 'hansgeorg.huck@example.com'),
(54, 'christine.fromme@example.com'),
(55, 'vincent.schonfeld@example.com'),
(56, 'gottlob.dunker@example.com'),
(57, 'max.holzwarth@example.com'),
(58, 'renate.tewes@example.com'),
(59, 'margot.jakobs@example.com'),
(60, 'luise.kreft@example.com'),
(61, 'richard.wegmann@example.com'),
(62, 'michelle.schone@example.com'),
(63, 'frederic.sohn@example.com'),
(64, 'metin.duda@example.com'),
(65, 'bert.stephan@example.com'),
(66, 'pascal.rottger@example.com'),
(67, 'dusan.schwalm@example.com'),
(68, 'hans-gerd.fenzl@example.com'),
(69, 'regina.neubauer@example.com'),
(70, 'irmtrud.pelzer@example.com'),
(71, 'undine.miller@example.com'),
(72, 'pavel.klar@example.com'),
(73, 'kathy.beetz@example.com'),
(74, 'kate.rohl@example.com'),
(75, 'grete.buhl@example.com'),
(76, 'vadim.cordes@example.com'),
(77, 'ernst-august.feist@example.com'),
(78, 'wieland.kretschmann@example.com'),
(79, 'veronique.ostermann@example.com'),
(80, 'sieglinde.kuhn@example.com'),
(81, 'nicolaus.bohl@example.com'),
(82, 'rotraut.ganz@example.com'),
(83, 'luzia.romer@example.com'),
(84, 'anna-marie.goller@example.com'),
(85, 'igor.menne@example.com'),
(86, 'belinda.mattern@example.com'),
(87, 'brunhild.prufer@example.com'),
(88, 'karl.hartig@example.com'),
(89, 'darius.ehrmann@example.com'),
(90, 'friedlinde.roscher@example.com'),
(91, 'leon.sperber@example.com'),
(92, 'artur.bartels@example.com'),
(93, 'ramon.grosch@example.com'),
(94, 'hans-martin.lenk@example.com'),
(95, 'alf.steinhoff@example.com'),
(96, 'joana.wurfel@example.com'),
(97, 'marco.blechschmidt@example.com'),
(98, 'rico.hartmann@example.com'),
(99, 'giesela.kerscher@example.com'),
(100, 'irma.herb@example.com'),
(101, 'hans-ulrich.kropp@example.com'),
(102, 'nicole.ruther@example.com'),
(103, 'ernest.friess@example.com');

--
-- Indeksy dla zrzutów tabel
--

--
-- Indeksy dla tabeli `maile`
--
ALTER TABLE `maile`
  ADD PRIMARY KEY (`id`);

--
-- AUTO_INCREMENT dla zrzuconych tabel
--

--
-- AUTO_INCREMENT dla tabeli `maile`
--
ALTER TABLE `maile`
  MODIFY `id` int(3) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=104;
COMMIT;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

# data[].attributes.body
Dane do projektu - koszyk zamówień

# data[].attributes.body
Zadanie egzaminacyjne PHP, usuwanie rekordów

# data[].attributes.body
Pliki z danymi *.xlsx i *.csv

# data[].attributes.body
Gra1 biblioteka Phaser

# data[].attributes.body
Sprawdzian klasa 4as

# data[].attributes.body
Dane do egzaminu próbnego nr 1.

# data[].attributes.body
Zadanie egzaminacyjne PHP

# data[].attributes.body
Dane pracownicy, workers.js - plik JSON i zdjęcia

# data[].attributes.attachment_link.readable_text
Zadanie egzaminacyjne

Wykonaj aplikację internetową dla agencji nieruchomości zawierającą elementy HTML, CSS i JavaScript oraz zaprojektuj logo agencji. Wykorzystaj do tego celu edytor zaznaczający składnię oraz program do obróbki grafiki wektorowej.
Aby wykonać zadanie zaloguj się na konto Egzamin bez hasła. Wyniki swojej pracy zapisz w folderze stworzonym na pulpicie konta Egzamin. Jako nazwy folderu użyj swojego numeru PESEL.

Grafika

Przy pomocy programu do obróbki grafiki wektorowej wykonaj projekt logo firmy. Swoją pracę udokumentuj zrzutami ekranowymi. Wykonaj następujące czynności:
- stwórz trzy obiekty: duży prostokąt, trójkąt oraz mały prostokąt zgodnie z rysunkiem 1a
- wypełnij wszystkie obiekty kolorem jasnobrązowym
- krawędziom każdego obiektu nadaj kolor ciemnobrązowy (ciemniejszy od wypełnienia), ustaw grubość krawędzi na cztery piksele. Udokumentuj tę czynność za pomocą zrzutu ekranu. Na zrzucie powinny być widoczne: całe okno programu wraz z jego nazwą, wszystkie trzy obiekty, okno lub kontrolka z ustawioną szerokością obramowania dla wybranego obiektu. Zrzut powinien być czytelny, zapisany w formacie JPEG jako zrzut1
- ustaw obiekty tak, aby stykały się krawędziami i przypominały obraz domu zgodnie z rysunkiem 1b, następnie za pomocą funkcji programu graficznego przekształć trzy obiekty w jeden obiekt stanowiący kształt domu z rysunku 1b. Udokumentuj tę czynność za pomocą zrzutu ekranu. Na zrzucie powinien być widoczny obiekt domu oraz wskazana funkcja, która została użyta do przekształcenia. Zrzut powinien być czytelny, zapisany w formacie JPEG jako zrzut2.
- wyeksportuj grafikę do pliku o formacie PNG i nazwij projekt.png Grafika powinna mieć przezroczyste tło.
- w edytorze grafiki rastrowej przytnij obraz z pliku projekt.png tak, aby ramy okna wyznaczał kontur kształtu domu, a następnie przeskaluj obraz z zachowaniem proporcji tak, aby szerokość wynosiła 100 px. Przycięty i przeskalowany obraz zapisz w formacie PNG w pliku logo.png

Witryna internetowa

Cechy witryny:
- nazwa pliku: agencja.html
- zastosowany standard kodowania polskich znaków
- tytuł strony widoczny na karcie przeglądarki: „Kup mieszkanie"
- arkusz stylów w pliku o nazwie agencja.css prawidłowo połączony z kodem strony
- podział strony na bloki: panel lewy, panel prawy, stopka zrealizowany za pomocą znaczników sekcji, zgodnie z rysunkiem 2
- zawartość panelu lewego:
- nagłówek pierwszego stopnia o treści: „AGENCJA NIERUCHOMOŚCI"
- nagłówek trzeciego stopnia o treści: „OFERUJEMY"
- lista numerowana z elementami: Nowe mieszkania, Domy w naszym mieście, Domy w okolicy
- nagłówek trzeciego stopnia o treści: „NASI PRACOWNICY"
- tabela zgodna z rysunkiem 2, o wymiarach 3 wiersze na 2 kolumny, z czego w pierwszej kolumnie wszystkie wiersze są scalone w jedną komórkę. Treść komórki scalonej: Jan Nowak Prezes, przed słowem Prezes występuje łamanie linii. Treść kolumny 2 kolejno: Anna Kowalska, Katarzyna Nowakowska, Krzysztof Kowalewski.
- zawartość panelu prawego:
- nagłówek pierwszego stopnia: „KALKULATOR CENY MIESZKANIA",
- pole do wprowadzania danych poprzedzone napisem: „Podaj metraż mieszkania w m ²" Uwaga: 2 w indeksie górnym
- pole do wprowadzania danych poprzedzone napisem: „Liczba pokoi z zamontowanym okablowaniem sieciowym"
- pole typu checkbox z tekstem: „Kafelki w łazience?"
- przycisk „OBLICZ"
- cechy stopki:
- treść paragrafu (akapitu): „Autor strony: ", dalej wstawiony Twój numer PESEL
- obraz logo.png z alternatywnym tekstem „nieruchomości"

Styl CSS witryny internetowej

Plik agencja.css zawiera formatowanie dla:
- panelu lewego: szerokość 40%, wysokość 600 px, kolor tła #FF8989
- panelu prawego: szerokość 60%, wysokość 600 px, kolor tła #7872D9
- stopki: czarny kolor tła, biały kolor czcionki, wysokość czcionki 150%, wyrównanie tekstu do prawej strony
- tabeli i komórki: marginesy zewnętrzne na 20 px, wewnętrzne na 30 px, obramowanie na 2 px linia ciągła brązowego koloru, obramowanie jest połączone, patrz rysunek 2
- przycisku: marginesy wewnętrzne i zewnętrzne 10 px, obramowanie na 2 px w kolorze niebieskim, kolor tła cyan, rozmiar czcionki 20 px
- znacznika h1: wyrównanie tekstu do środka
Niewymienione właściwości obiektów przybierają wartości domyślne.

Skrypt

Skrypt napisany w języku JavaScript uruchamia się po wciśnięciu przycisku „OBLICZ". Jego zadaniem jest obliczenie ceny mieszkania na podstawie danych wpisanych w pola tekstowe, uwzględniając wytyczne:
- 1 m ² powierzchni mieszkania kosztuje 4000 zł
- założenie sieci w jednym pokoju kosztuje 1000 zł
- wykafelkowanie łazienki kosztuje 2000 zł
Wyliczony całkowity koszt mieszkania jest wypisany na stronie pod przyciskiem „OBLICZ" w postaci: „Koszt mieszkania: <koszt> zł", gdzie <koszt> oznacza obliczoną skryptem wartość.
UWAGA: po zakończeniu pracy nagraj płytę z rezultatami pracy. W folderze z Twoim numerem PESEL powinny się znajdować pliki: agencja.css, agencja.html, logo.png, projekt.png, zrzut1.jpg, zrzut2.jpg, 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.

# data[].attributes.attachment_link.description
Wykonaj aplikację internetową dla agencji nieruchomości zawierającą elementy HTML, CSS i JavaScript oraz zaprojektuj logo agencji. Wykorzystaj do tego celu edytor zaznaczający składnię oraz program do obróbki grafiki wektorowej. Aby wykonać zadanie zaloguj się na konto Egzamin bez hasła. Wyniki swojej pracy zapisz w folderze stworzonym na pulpicie konta Egzamin.

# data[].attributes.body
Zadanie z wykorzystaniem tablic w JS

# data[].attributes.attachment_link.readable_text
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
Plik 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 rysunku 1. Tabela Zamówienia ma klucz obcy Samochody id będący w relacji z kluczem głównym tabeli Samochody.

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 bazy komis 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 bazalDanych.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 JPEG i nadaj im nazwy kwerenda1, kwerenda2, kwerenda3. Zrzuty powinny być czytelne.

Witryna internetowa

Witryna internetowa przedstawiona jest na rysunku 2.
Przygotowanie grafiki:
- plik auto.png wypakowany z archiwum należy przeskalować do wymiarów: szerokość 100 px, 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 rysunkiem 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 60 px;
- panelu lewego: kolor tła #61B2EC, szerokość 40%, wysokość 500 px;
- panelu prawego: kolor tła #8EC9F2, szerokość 60%, wysokość 500 px;
- 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 skryptu:
- napisany w języku PHP;
- nie jest wymagane sprawdzenie, czy operacja powiodła się:
- skrypt łączy się z serwerem bazodanowym na 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 /

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

# data[].attributes.attachment_link.description
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 Plik należy rozpakować.

# data[].attributes.body
Materiały do ćwiczenia Slajder

# data[].attributes.body
Materiały do projektu restauracja on-line

# data[].attributes.body
Obrazki do gry Komar

# data[].attributes.body
Dokończenie 1 zadania egzaminacyjnego

# data[].attributes.attachment_link.readable_text
-- phpMyAdmin SQL Dump
-- version 5.0.4
-- https://www.phpmyadmin.net/
--
-- Host: 127.0.0.1
-- Czas generowania: 11 Wrz 2022, 20:08
-- Wersja serwera: 10.4.17-MariaDB
-- Wersja PHP: 8.0.0

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
START TRANSACTION;
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;

--
-- Baza danych: `kontakty`
--

-- --------------------------------------------------------

--
-- Struktura tabeli dla tabeli `osoby`
--

CREATE TABLE `osoby` (
  `ido` smallint(6) NOT NULL,
  `imie` varchar(20) NOT NULL,
  `nazwisko` varchar(40) NOT NULL,
  `rodzaj` varchar(1) NOT NULL,
  `telefon` varchar(12) NOT NULL,
  `dataur` date DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

--
-- Zrzut danych tabeli `osoby`
--

INSERT INTO `osoby` (`ido`, `imie`, `nazwisko`, `rodzaj`, `telefon`, `dataur`) VALUES
(5, 'Januszek', 'Koś', 'R', '2345-345-546', '2000-01-01'),
(7, 'Kamila', 'Bar', 'R', '9870-019-342', '1974-02-03'),
(8, 'Bartosz', 'Barcik', 'Z', '9870-019-343', '1974-02-03'),
(9, 'Janusz', 'Kowaluk', 'R', '988-019-343', '2000-02-01'),
(10, 'Emilia', 'Barcik', 'Z', '222-123-999', '2001-03-01'),
(11, 'Monika', 'Moc', 'R', '1234-345-121', '1970-03-01');

--
-- Indeksy dla zrzutów tabel
--

--
-- Indeksy dla tabeli `osoby`
--
ALTER TABLE `osoby`
  ADD PRIMARY KEY (`ido`);

--
-- AUTO_INCREMENT dla zrzuconych tabel
--

--
-- AUTO_INCREMENT dla tabeli `osoby`
--
ALTER TABLE `osoby`
  MODIFY `ido` smallint(6) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=12;
COMMIT;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

# data[].attributes.attachment_link.readable_text
-- phpMyAdmin SQL Dump
-- version 4.5.1
-- http://www.phpmyadmin.net
--
-- Host: 127.0.0.1
-- Czas generowania: 25 Paź 2017, 08:59
-- Wersja serwera: 10.1.19-MariaDB
-- Wersja PHP: 5.6.28

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;

--
-- Baza danych: `baza`
--

-- --------------------------------------------------------

--
-- Struktura tabeli dla tabeli `dania`
--

CREATE TABLE `dania` (
  `id` int(10) UNSIGNED NOT NULL,
  `typ` int(10) UNSIGNED DEFAULT NULL,
  `nazwa` text,
  `cena` int(10) UNSIGNED DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Zrzut danych tabeli `dania`
--

INSERT INTO `dania` (`id`, `typ`, `nazwa`, `cena`) VALUES
(1, 1, 'Gazpacho', 20),
(2, 1, 'Krem z warzyw', 25),
(3, 1, 'Gulaszowa ostra', 30),
(4, 2, 'Kaczka i owoc', 30),
(5, 2, 'Kurczak pieczony', 40),
(6, 2, 'wieprzowy przysmak', 35),
(7, 2, 'Mintaj w panierce', 30),
(8, 2, 'Alle kotlet', 30),
(9, 3, 'Owoce morza', 20),
(10, 3, 'Grzybki, warzywka, sos', 15),
(11, 3, 'Orzechy i chipsy', 10),
(12, 3, 'Tatar i jajo', 15),
(13, 3, 'Bukiet warzyw', 10),
(14, 4, 'Sok porzeczkowy', 3),
(15, 4, 'Cola', 3),
(16, 4, 'Woda', 2);

-- --------------------------------------------------------

--
-- Struktura tabeli dla tabeli `ogloszenie`
--

CREATE TABLE `ogloszenie` (
  `id` int(10) UNSIGNED NOT NULL,
  `uzytkownik_id` int(10) UNSIGNED NOT NULL,
  `kategoria` int(10) UNSIGNED DEFAULT NULL,
  `podkategoria` int(10) UNSIGNED DEFAULT NULL,
  `tytul` text,
  `tresc` text
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Zrzut danych tabeli `ogloszenie`
--

INSERT INTO `ogloszenie` (`id`, `uzytkownik_id`, `kategoria`, `podkategoria`, `tytul`, `tresc`) VALUES
(1, 1, 1, 12, 'Daniel Craig. Biografia', 'Biografia Daniela Craiga, niedrogo sprzedam'),
(2, 1, 1, 13, 'Selekcja', 'Sprzedam: "Selekcja" J. Kellermana, niezniszczona'),
(3, 2, 1, 13, 'Buick', 'Sprzedam horror Stephena Kinga w dobrym stanie'),
(4, 2, 1, 14, 'Tytus, Romek i Atomek', 'Ks. IV do sprzedania, stan dobry'),
(5, 2, 2, 0, 'Imagine Dragons', 'Sprzedam dwa CD Imagine Dragons');

-- --------------------------------------------------------

--
-- Struktura tabeli dla tabeli `podzespoly`
--

CREATE TABLE `podzespoly` (
  `id` int(10) UNSIGNED NOT NULL,
  `typy_id` int(10) UNSIGNED NOT NULL,
  `producenci_id` int(10) UNSIGNED NOT NULL,
  `nazwa` text,
  `opis` text,
  `dostepnosc` tinyint(1) DEFAULT NULL,
  `cena` float NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Zrzut danych tabeli `podzespoly`
--

INSERT INTO `podzespoly` (`id`, `typy_id`, `producenci_id`, `nazwa`, `opis`, `dostepnosc`, `cena`) VALUES
(1, 1, 1, 'Core i5-7640X', 'Procesor Intel Core i5-7640X 4,2 GHz LGA 2066 Box', 1, 1000),
(2, 1, 1, 'Core i3-6300', 'Procesor Intel Core i3-6300 3,8 GHz 4MB cache s. 1151 Box', 1, 575),
(3, 1, 1, 'Core i7-6700K', 'Procesor Intel Core i7-6700K 4,0 GHz 8MB cache s. 1151 Box', 0, 1400),
(4, 1, 2, 'X6 FX-6350', 'Procesor AMD X6 FX-6350 s.AM3+ BOX', 1, 380),
(5, 2, 7, 'Savage', 'RAM HyperX 16GB (2x8GB) DDR3-1866 Dual Chanel Kit Non-ECC CL9 XMP Savage Series HX318C9SRK2/16', 1, 535),
(6, 2, 7, 'Savage', 'HyperX 4GB DDR3-1600 Non-ECC CL9 XMP Savage Series HX316C9SR/4', 0, 150),
(7, 2, 8, 'Signature', 'RAM Patriot Signature DDR3 8GB (2x4GB) 1600 CL9 PSD38G1600KH', 0, 250),
(8, 5, 9, 'GTX 1060', 'Karta graficzna Asus DUAL NVIDIA GeForce GTX 1060 3072MB GDDR5 192b PCI-E x16 v. 3.0 (1594MHz/8008MHz) OC Edition', 1, 1189),
(9, 5, 9, 'GeForce 210', 'Karta graficzna ASUS GeForce 210 1024MB 64bit PCI-E', 0, 145),
(10, 6, 6, 'WD Black', 'Dysk WD Black WD1003FZEX 1TB sATA III 64MB', 0, 315),
(11, 6, 6, 'WD Blue', 'Dysk WD Blue WD10EZEX 1TB sATA III 64MB', 1, 195),
(12, 6, 5, 'AHD650-1TU3-CBK', 'Dysk USB ADATA AHD650-1TU3-CBK 1TB 2.5'' HD650 USB 3.0 Czarny', 1, 210);

-- --------------------------------------------------------

--
-- Struktura tabeli dla tabeli `pracownicy`
--

CREATE TABLE `pracownicy` (
  `id` int(10) UNSIGNED NOT NULL,
  `imie` text,
  `nazwisko` text,
  `stanowisko` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Zrzut danych tabeli `pracownicy`
--

INSERT INTO `pracownicy` (`id`, `imie`, `nazwisko`, `stanowisko`) VALUES
(1, 'Anna', 'Kowalska', 1),
(2, 'Monika', 'Nowak', 2),
(3, 'Ewelina', 'Nowakowska', 2),
(4, 'Anna', 'Przybylska', 3),
(5, 'Maria', 'Kowal', 3),
(6, 'Ewa', 'Nowacka', 4);

-- --------------------------------------------------------

--
-- Struktura tabeli dla tabeli `producenci`
--

CREATE TABLE `producenci` (
  `id` int(10) UNSIGNED NOT NULL,
  `nazwa` text,
  `opis` text
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Zrzut danych tabeli `producenci`
--

INSERT INTO `producenci` (`id`, `nazwa`, `opis`) VALUES
(1, 'Intel', NULL),
(2, 'AMD', NULL),
(5, 'ADATA', NULL),
(6, 'WD', NULL),
(7, 'Kingstone', NULL),
(8, 'Patriot', NULL),
(9, 'ASUS', NULL);

-- --------------------------------------------------------

--
-- Struktura tabeli dla tabeli `samochody`
--

CREATE TABLE `samochody` (
  `id` int(10) UNSIGNED NOT NULL,
  `marka` text,
  `model` text,
  `rocznik` year(4) DEFAULT NULL,
  `kolor` text,
  `stan` text
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Zrzut danych tabeli `samochody`
--

INSERT INTO `samochody` (`id`, `marka`, `model`, `rocznik`, `kolor`, `stan`) VALUES
(1, 'Fiat', 'Punto', 2016, 'czerwony', 'bardzo dobry'),
(2, 'Fiat', 'Punto', 2002, 'czerwony', 'dobry'),
(3, 'Fiat', 'Punto', 2007, 'niebieski', 'bardzo bobry'),
(4, 'Opel', 'Corsa', 2016, 'grafitowy', 'bardzo dobry'),
(5, 'Opel', 'Astra', 2003, 'niebieski', 'porysowany lakier'),
(6, 'Toyota', 'Corolla', 2016, 'czerwony', 'bardzo dobry'),
(7, 'Toyota', 'Corolla', 2014, 'szary', 'dobry'),
(8, 'Toyota', 'Yaris', 2004, 'granatowy', 'dobry');

-- --------------------------------------------------------

--
-- Struktura tabeli dla tabeli `typy`
--

CREATE TABLE `typy` (
  `id` int(10) UNSIGNED NOT NULL,
  `kategoria` text
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Zrzut danych tabeli `typy`
--

INSERT INTO `typy` (`id`, `kategoria`) VALUES
(1, 'Procesor'),
(2, 'RAM'),
(5, 'karta graficzna'),
(6, 'HDD');

-- --------------------------------------------------------

--
-- Struktura tabeli dla tabeli `uczniowie`
--

CREATE TABLE `uczniowie` (
  `imie` text,
  `nazwisko` text,
  `wiek` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Zrzut danych tabeli `uczniowie`
--

INSERT INTO `uczniowie` (`imie`, `nazwisko`, `wiek`) VALUES
('Kamil', 'Ryba', 11),
('Karolina', 'Witecka', 8),
('Karol', 'Rybacki', 9),
('Marina', 'Damiencka', 9);

-- --------------------------------------------------------

--
-- Struktura tabeli dla tabeli `uzytkownik`
--

CREATE TABLE `uzytkownik` (
  `id` int(10) UNSIGNED NOT NULL,
  `imie` text,
  `nazwisko` text,
  `telefon` text,
  `email` text
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Zrzut danych tabeli `uzytkownik`
--

INSERT INTO `uzytkownik` (`id`, `imie`, `nazwisko`, `telefon`, `email`) VALUES
(1, 'Anna', 'Kowalska', '601601601', 'anna@poczta.pl'),
(2, 'Jan', 'Nowak', '608608608', 'jan@poczta.pl'),
(3, 'Jolanta', 'Jasny', '606606606', 'jolanta@poczta.pl'),
(4, 'qqq', 'www', '345', 'dsfsdklfs@daskl');

-- --------------------------------------------------------

--
-- Struktura tabeli dla tabeli `wyniki`
--

CREATE TABLE `wyniki` (
  `id` int(10) UNSIGNED NOT NULL,
  `dyscyplina_id` int(10) UNSIGNED NOT NULL,
  `sportowiec_id` int(10) UNSIGNED NOT NULL,
  `wynik` decimal(5,2) DEFAULT NULL,
  `dataUstanowienia` date DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Zrzut danych tabeli `wyniki`
--

INSERT INTO `wyniki` (`id`, `dyscyplina_id`, `sportowiec_id`, `wynik`, `dataUstanowienia`) VALUES
(1, 1, 1, '12.40', '2015-10-14'),
(2, 1, 1, '12.00', '2015-10-06'),
(3, 1, 2, '11.80', '2015-10-14'),
(4, 1, 2, '11.90', '2015-10-06'),
(5, 1, 3, '11.50', '2015-10-14'),
(6, 1, 3, '11.56', '2015-10-06'),
(7, 1, 4, '11.70', '2015-10-14'),
(8, 1, 4, '11.67', '2015-10-06'),
(9, 1, 5, '11.30', '2015-10-14'),
(10, 1, 5, '11.52', '2015-10-06'),
(11, 1, 6, '12.10', '2015-10-14'),
(12, 1, 6, '12.00', '2015-10-06'),
(13, 3, 1, '63.00', '2015-11-11'),
(14, 3, 1, '63.60', '2015-10-13'),
(15, 3, 2, '64.00', '2015-11-11'),
(16, 3, 2, '63.60', '2015-10-13'),
(17, 3, 3, '60.00', '2015-11-11'),
(18, 3, 3, '61.60', '2015-10-13'),
(19, 3, 4, '63.50', '2015-11-11'),
(20, 3, 4, '63.60', '2015-10-13'),
(21, 3, 5, '70.00', '2015-10-07'),
(22, 3, 6, '68.00', '2015-10-07');

-- --------------------------------------------------------

--
-- Struktura tabeli dla tabeli `zamowienia`
--

CREATE TABLE `zamowienia` (
  `id` int(10) UNSIGNED NOT NULL,
  `Samochody_id` int(10) UNSIGNED NOT NULL,
  `Klient` text,
  `telefon` text,
  `dataZam` date DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Zrzut danych tabeli `zamowienia`
--

INSERT INTO `zamowienia` (`id`, `Samochody_id`, `Klient`, `telefon`, `dataZam`) VALUES
(1, 3, 'Anna Kowalska', '111222333', '2016-02-15'),
(2, 6, 'Jan Nowakowski', '222111333', '2016-02-15'),
(3, 8, 'Marcin Kolwal', '333111222', '2016-02-15');

--
-- Indeksy dla zrzutów tabel
--

--
-- Indexes for table `dania`
--
ALTER TABLE `dania`
  ADD PRIMARY KEY (`id`);

--
-- Indexes for table `ogloszenie`
--
ALTER TABLE `ogloszenie`
  ADD PRIMARY KEY (`id`);

--
-- Indexes for table `podzespoly`
--
ALTER TABLE `podzespoly`
  ADD PRIMARY KEY (`id`);

--
-- Indexes for table `pracownicy`
--
ALTER TABLE `pracownicy`
  ADD PRIMARY KEY (`id`);

--
-- Indexes for table `producenci`
--
ALTER TABLE `producenci`
  ADD PRIMARY KEY (`id`);

--
-- Indexes for table `samochody`
--
ALTER TABLE `samochody`
  ADD PRIMARY KEY (`id`);

--
-- Indexes for table `typy`
--
ALTER TABLE `typy`
  ADD PRIMARY KEY (`id`);

--
-- Indexes for table `uzytkownik`
--
ALTER TABLE `uzytkownik`
  ADD PRIMARY KEY (`id`);

--
-- Indexes for table `wyniki`
--
ALTER TABLE `wyniki`
  ADD PRIMARY KEY (`id`);

--
-- Indexes for table `zamowienia`
--
ALTER TABLE `zamowienia`
  ADD PRIMARY KEY (`id`);

--
-- AUTO_INCREMENT for dumped tables
--

--
-- AUTO_INCREMENT dla tabeli `dania`
--
ALTER TABLE `dania`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=17;
--
-- AUTO_INCREMENT dla tabeli `ogloszenie`
--
ALTER TABLE `ogloszenie`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;
--
-- AUTO_INCREMENT dla tabeli `podzespoly`
--
ALTER TABLE `podzespoly`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=13;
--
-- AUTO_INCREMENT dla tabeli `pracownicy`
--
ALTER TABLE `pracownicy`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=9;
--
-- AUTO_INCREMENT dla tabeli `producenci`
--
ALTER TABLE `producenci`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=10;
--
-- AUTO_INCREMENT dla tabeli `samochody`
--
ALTER TABLE `samochody`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=9;
--
-- AUTO_INCREMENT dla tabeli `typy`
--
ALTER TABLE `typy`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=7;
--
-- AUTO_INCREMENT dla tabeli `uzytkownik`
--
ALTER TABLE `uzytkownik`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;
--
-- AUTO_INCREMENT dla tabeli `wyniki`
--
ALTER TABLE `wyniki`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=23;
--
-- AUTO_INCREMENT dla tabeli `zamowienia`
--
ALTER TABLE `zamowienia`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

# data[].attributes.attachment_link.readable_text
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
Plik 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 rysunku 1. Tabela Zamówienia ma klucz obcy Samochody id będący w relacji z kluczem głównym tabeli Samochody.

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 bazy komis 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 bazalDanych.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 JPEG i nadaj im nazwy kwerenda1, kwerenda2, kwerenda3. Zrzuty powinny być czytelne.

Witryna internetowa

Witryna internetowa przedstawiona jest na rysunku 2.
Przygotowanie grafiki:
- plik auto.png wypakowany z archiwum należy przeskalować do wymiarów: szerokość 100 px, 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 rysunkiem 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 60 px;
- panelu lewego: kolor tła #61B2EC, szerokość 40%, wysokość 500 px;
- panelu prawego: kolor tła #8EC9F2, szerokość 60%, wysokość 500 px;
- 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 skryptu:
- napisany w języku PHP;
- nie jest wymagane sprawdzenie, czy operacja powiodła się:
- skrypt łączy się z serwerem bazodanowym na 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 /

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

# data[].attributes.attachment_link.description
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 Plik należy rozpakować.

# data[].attributes.attachment_link.readable_text
Zadanie egzaminacyjne

Wykonaj aplikację internetową portalu ogłoszeniowego. 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 materialy.zip zabezpieczone hasłem: Zad4ni3
Archiwum należy rozpakować.
Na pulpicie konta Egzamin utwórz folder. Jako nazwy folderu użyj swojego numeru PESEL. Rozpakowane pliki umieść w tym folderze. Po skończonej pracy wyniki zapisz także w tym folderze.

Operacje na bazie danych

Baza danych jest zgodna ze strukturą przedstawioną na obrazie 1. Tabela ogloszenie ma klucz obcy uzytkownik_id będący w relacji z kluczem głównym tabeli uzytkownik. Pole kategoria przyjmuje wartości liczbowe: 1 - książki, 2 - muzyka.
Uruchom usługi MySQL i Apache za pomocą XAMPP Control Panel. Za pomocą narzędzia phpMyAdmin wykonaj podane operacje na bazie danych:
- Utwórz nową bazę danych o nazwie ogloszenia

- Do bazy ogloszenia zaimportuj tabele z pliku baza.sql z wcześniej rozpakowanego archiwum
- Wykonaj zrzut ekranu po imporcie. Zrzut zapisz w folderze z numerem PESEL, w formacie JPEG i nazwij import.jpg. Nie kadruj zrzutu. Powinien on obejmować cały ekran, z widocznym paskiem zadań. Na zrzucie powinny być widoczne elementy wskazujące na poprawnie wykonany import tabel
- Zapisz i wykonaj zapytania SQL działające na bazie ogloszenia. Zapytania zapisz w pliku kwerendy.txt, w folderze z numerem PESEL. Wykonaj zrzuty ekranu przedstawiające wyniki działania kwerend. Zrzuty zapisz w formacie JPEG i nadaj im nazwy kw1, kw2, kw3, kw4. Zrzuty powinny obejmować cały ekran monitora z widocznym paskiem zadań.
- Zapytanie 1: wybierające jedynie pola id, tytul i tresc z tabeli ogloszenie dla tych rekordów, dla których kategoria to książki
- Zapytanie 2: wykorzystujące relację pomiędzy tabelami i wybierające jedynie telefon tego użytkownika, który jest przypisany do ogłoszenia numer 1
- Zapytanie 3: tworzące użytkownika moderator na localhost z hasłem qwerty
- Zapytanie 4: nadające prawa dla użytkownika moderator do usuwania i przeglądania danych w tabeli ogloszenie.

Witryna internetowa

Przygotowanie grafiki

- Plik ksiazki.jpg, wypakowany z archiwum, należy przeskalować do wymiarów: szerokość 200 px, wysokość 300 px. Pozostałych atrybutów obrazu nie należy zmieniać
Cechy witryny
- Nazwa pliku: ogloszenia.php
- Zastosowany właściwy standard kodowania polskich znaków
- Tytuł strony widoczny na karcie przeglądarki: „Portal ogłoszeniowy"
- Arkusz stylów w pliku o nazwie styl1.css prawidłowo połączony z kodem strony
Podział strony na bloki: baner, panele lewy i prawy, stopka zrealizowany za pomocą znaczników sekcji, tak aby po uruchomieniu strony w przeglądarce wygląd był zgodny z obrazem 2
- Zawartość banera: nagłówek pierwszego stopnia o treści: „Portal Ogłoszeniowy"
- Zawartość panelu lewego:
- Nagłówek drugiego stopnia o treści: „Kategorie ogłoszeń"
- Lista numerowana z trzema elementami: Książki, Muzyka, Filmy
- Obraz ksiazki.jpg z tekstem alternatywnym o treści: „Kupię / sprzedam książkę"
- Tabela o wymiarach 3 kolumny na 4 wiersze. Ostatnia kolumna zawiera scalone trzy wiersze. Zawartość i wygląd tabeli zgodne ze wzorem

- Zawartość panelu prawego:
- Nagłówek drugiego stopnia o treści: „Ogłoszenia kategorii książki"
- Skrypt połączenia z bazą
- Zawartość stopki: napis o treści: „Portal ogłoszeniowy opracował:", dalej wstawiony Twój numer PESEL.
Styl CSS witryny internetowej
Plik styl1.css zawiera formatowanie:
- Banera: kolor tła #40271A, biały kolor czcionki, krój czcionki: Tahoma, wyrównanie tekstu do środka, wysokość 80 px
- Panelu lewego: kolor tła #DBB29C, szerokość 40%, wysokość 700 px
- Panelu prawego: kolor tła #FFE3D4, szerokość 60%, wysokość 700 px
- Stopki: kolor tła #40271A, biały kolor czcionki, wyrównanie tekstu do prawej strony
- Tabeli, komórki tabeli: obramowanie na 1 px linią przerywaną brązową, szerokość tabeli 500 px, marginesy zewnętrzne 10 px, wyrównanie tekstu do środka
- Obrazu: marginesy wewnętrzne 30 px
- Listy numerowanej: styl punktora cyfry rzymskie wielkie
Niewymienione właściwości selektorów przybierają wartości domyślne.
Skrypt połączenia z bazą
W tabeli 2 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 danych powiodła się
- Skrypt łączy się z serwerem bazodanowym na localhost, użytkownik root bez hasła, baza danych o nazwie ogloszenia
- Skrypt wysyła do bazy danych dwa zapytania:
- zapytanie 1 (patrz punkt „Operacje na bazie danych")
- zapytanie 2 (patrz punkt „Operacje na bazie danych") zmodyfikowane tak, aby dla danego id ogłoszenia pobierany był numer telefonu użytkownika, do którego należy ogłoszenie
- Dla każdego zwróconego zapytaniem wiersza wykonuje następujące działania: - Wyświetla w nagłówku trzeciego stopnia pola id oraz tytul
- Wyświetla w akapicie treść ogłoszenia
- W kolejnym akapicie wyświetla tekst: „telefon kontaktowy:" i dalej numer telefonu pobrany zmodyfikowanym zapytaniem 2
- Na końcu działania skrypt zamyka połączenie z serwerem.

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

UWAGA: po zakończeniu pracy nagraj płytę z rezultatami pracy. W folderze z numerem PESEL powinny się znajdować pliki: import.jpg, ksiazki.jpg, kw1.jpg, kw2.jpg, kw3.jpg, kw4.jpg, kwerendy.txt, ogloszenia.php, styl1.css, ewentualnie inne przygotowane pliki.
Utwórz plik tekstowy. Zapisz w nim nazwę przeglądarki internetowej, w której weryfikowałeś poprawność działania witryny. Zapisz go na płycie jako przegladarka.txt.
Po nagraniu płyty sprawdź poprawność nagrania. Opisz płytę swoim numerem PESEL i pozostaw zapakowaną w pudełku na stanowisku.

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

# data[].attributes.attachment_link.description
Wykonaj aplikację internetową portalu ogłoszeniowego. 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 materialy.zip zabezpieczone hasłem: Zad4ni3 Archiwum należy rozpakować. Na pulpicie konta Egzamin utwórz folder.

# data[].attributes.attachment_link.description
Wszystko o egzaminach z kwalifikacji E.14. Tworzenie aplikacji internetowych i baz danych oraz administrowanie bazami w zawodzie TECHNIK INFORMATYK