Rozwiązanie - Egzamin Praktyczny EE.09

Arkusz EE.09-04-22.06-SG - Czerwiec 2022 - Wersja #04

Skrypt: JavaScript

Baza Danych:

Przykładowe rozwiązanie
Rozwiązanie - Arkusz praktyczny EE.09-04-22.06-SG - Czerwiec 2022 - Wersja #04
Rozwiązanie - Arkusz praktyczny EE.09-04-22.06-SG - Czerwiec 2022 - Wersja #04
Rozwiązanie - Arkusz praktyczny EE.09-04-22.06-SG - Czerwiec 2022 - Wersja #04
Wymagane zdjęcia
Egzamin EE.09-04-22.06-SG - dodatkowe zdjęcia - obraz.png
obraz.png
Wyniki działań na bazie danych
Egzamin EE.09-04-22.06-SG - Operacje na bazie danych - import.jpeg
import.jpeg
Egzamin EE.09-04-22.06-SG - Operacje na bazie danych - import.jpeg
kw1.png
Egzamin EE.09-04-22.06-SG - Operacje na bazie danych - import.jpeg
kw2.png
Egzamin EE.09-04-22.06-SG - Operacje na bazie danych - import.jpeg
kw3.png
Egzamin EE.09-04-22.06-SG - Operacje na bazie danych - import.jpeg
kw4.png
Egzamin EE.09-04-22.06-SG - Operacje na bazie danych - import.jpeg
grants.png
Plik firma.sql
-- phpMyAdmin SQL Dump
-- version 5.2.0
-- https://www.phpmyadmin.net/
--
-- Host: 127.0.0.1
-- Czas generowania: 28 Mar 2023, 20:32
-- Wersja serwera: 10.4.27-MariaDB
-- Wersja PHP: 8.2.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: `firma`
--

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

--
-- Struktura tabeli dla tabeli `jednostki`
--

CREATE TABLE `jednostki` (
  `id` int(10) UNSIGNED NOT NULL,
  `nazwaJedn` varchar(20) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

--
-- Zrzut danych tabeli `jednostki`
--

INSERT INTO `jednostki` (`id`, `nazwaJedn`) VALUES
(1, 'metry'),
(2, 'sztuki');

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

--
-- Struktura tabeli dla tabeli `materialy`
--

CREATE TABLE `materialy` (
  `id` int(10) UNSIGNED NOT NULL,
  `Producenci_id` int(10) UNSIGNED NOT NULL,
  `Jednostki_id` int(10) UNSIGNED NOT NULL,
  `nazwa` text DEFAULT NULL,
  `ilosc` int(10) UNSIGNED DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

--
-- Zrzut danych tabeli `materialy`
--

INSERT INTO `materialy` (`id`, `Producenci_id`, `Jednostki_id`, `nazwa`, `ilosc`) VALUES
(1, 1, 1, 'Skrętka U/UTP drut', 20),
(2, 3, 1, 'Skrętka U/UTP linka', 2),
(3, 1, 2, 'Wtyk 8P8C', 10),
(4, 3, 2, 'Moduł Keystone', 30),
(5, 2, 2, 'Gniazdo pojedyncze', 2),
(6, 2, 2, 'Gniazdo podwójne', 5),
(7, 3, 2, 'Zaciskarka', 1);

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

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

CREATE TABLE `producenci` (
  `id` int(10) UNSIGNED NOT NULL,
  `nazwaProd` varchar(50) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

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

INSERT INTO `producenci` (`id`, `nazwaProd`) VALUES
(1, 'Netrack'),
(2, 'Ospel'),
(3, 'UGreen'),
(4, 'Dipol');

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

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

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

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

--
-- AUTO_INCREMENT dla zrzuconych tabel
--

--
-- AUTO_INCREMENT dla tabeli `jednostki`
--
ALTER TABLE `jednostki`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;

--
-- AUTO_INCREMENT dla tabeli `materialy`
--
ALTER TABLE `materialy`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=8;

--
-- AUTO_INCREMENT dla tabeli `producenci`
--
ALTER TABLE `producenci`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;
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 */;
Plik kwerendy.txt
Zapytanie 1: SELECT materialy.nazwa, materialy.ilosc, producenci.nazwaProd FROM materialy, producenci WHERE materialy.Producenci_id = producenci.id AND materialy.ilosc > 9;
Zapytanie 2: SELECT materialy.nazwa, producenci.nazwaProd, jednostki.nazwaJedn FROM materialy, producenci, jednostki WHERE materialy.Producenci_id = producenci.id AND jednostki.id = materialy.Jednostki_id;
Zapytanie 3: CREATE USER 'zaopatrzenie'@'localhost' IDENTIFIED BY 'Z@op@trzenie';
Zapytanie 4: GRANT SELECT, UPDATE, INSERT, DELETE ON firma.* TO 'zaopatrzenie'@'localhost';
Plik zamowienia.html
<!DOCTYPE html>
<html lang="pl">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Zamówienia hurtowe</title>
        <link rel="stylesheet" href="styl4.css">
    </head>
    <body onload="zaznaczBrak()">
        <header>
            <h1>Sieci komputerowe</h1>
        </header>

        <div id="lewy">
            <h2>Aktualizacja i zamówienia materiałów</h2>
            <p>Do wewnętrznego użytku firmy</p>
            <img src="obraz.png" alt="sieć komputerowa">
        </div>

        <div id="prawy">
            <table>
                <tr>
                    <th>Produkt</th>
                    <th>Jednostka</th>
                    <th>Dostępna ilość</th>
                    <th>Aktualizacja</th>
                    <th>Zamówienie</th>
                </tr>
                <tr>
                    <td>Skrętka U/UTP drut</td>
                    <td>metr</td>
                    <td>20</td>
                    <td><button onclick="aktualizuj(this)">Aktualizuj</button></td>
                    <td><button onclick="zamawiaj(this)">Zamów</button></td>
                </tr>
                <tr>
                    <td>Skrętka U/UTP linka</td>
                    <td>metr</td>
                    <td>2</td>
                    <td><button onclick="aktualizuj(this)">Aktualizuj</button></td>
                    <td><button onclick="zamawiaj(this)">Zamów</button></td>
                </tr>
                <tr>
                    <td>Wtyki 8P8C</td>
                    <td>sztuki</td>
                    <td>10</td>
                    <td><button onclick="aktualizuj(this)">Aktualizuj</button></td>
                    <td><button onclick="zamawiaj(this)">Zamów</button></td>
                </tr>
                <tr>
                    <td>Moduły Keystone</td>
                    <td>sztuki</td>
                    <td>30</td>
                    <td><button onclick="aktualizuj(this)">Aktualizuj</button></td>
                    <td><button onclick="zamawiaj(this)">Zamów</button></td>
                </tr>
            </table>
            <script src="skrypt.js"></script>
        </div>

        <footer>
            <a href="http://sieci.pl/" target="_blank">Nasza strona internetowa</a>
            <p>Stronę przygotował: <a href="https://ee-informatyk.pl/" target="_blank" style="color: unset;text-decoration: none;">EE-Informatyk.pl</a></p>
        </footer>
    </body>
</html>
Plik styl4.css
* {
    font-family: 'Verdana';
    text-align: center;
    box-sizing: border-box;
}

header {
    background: darkgreen;
    color: white;
    padding: 5px;
}

#lewy {
    background: palegreen;
    width: 30%;
    height: 500px;
    float: left;
}

#prawy {
    background: honeydew;
    width: 70%;
    height: 500px;
    padding-top: 100px;
    float: left;
}

footer {
    clear: both;
    background: palegreen;
    padding: 3px;
}

table,td {
    border: 1px solid darkgreen;
    border-collapse: collapse;
}

table {
    margin: auto;
    width: 95%;
}

td,th {
    padding: 20px 0;
}

button {
    background: darkgreen;
    color: white;
    padding: 5px;
}

button:hover {
    background: honeydew;
    color: darkgreen;
}
Plik skrypt.js
var id_zamowienia = 0;
    
function zaznaczBrak() {
    var wiersze = document.querySelectorAll("#prawy > table > tbody > tr");
    for (var i = 0; i < wiersze.length; i++) {
        var dostepnaIlosc = wiersze[i].children[2].textContent;
        if
        (dostepnaIlosc == 0) {
            wiersze[i].children[2].style.backgroundColor = "red";
        }
        else if (dostepnaIlosc > 0 && dostepnaIlosc < 5) {
            wiersze[i].children[2].style.backgroundColor = "yellow";
        }
        else {
            wiersze[i].children[2].style.backgroundColor = "Honeydew";
        }
    }
}

function aktualizuj(elem) {
    var nazwaProduktu = elem.parentElement.parentElement.children[0].textContent;
    var obecnaIlosc = parseInt(elem.parentElement.parentElement.children[2].textContent);
    var nowaIlosc = prompt("Podaj nową ilość dla produktu '" + nazwaProduktu + "':", obecnaIlosc);
    if (nowaIlosc != null) {
        if (isNaN(nowaIlosc)) {
            alert("Podana wartość nie jest liczbą!");
        }
        else {
            elem.parentElement.parentElement.children[2].textContent = nowaIlosc;
            zaznaczBrak();
        }
    }
}

function zamawiaj(elem) {
    id_zamowienia++;
    var nazwaProduktu = elem.parentElement.parentElement.children[0].textContent;
    alert("Zamówienie nr: " + id_zamowienia + " Produkt: " + nazwaProduktu);
}

Strona używa plików cookies

Serwis wykorzystuje ciasteczka głównie w celu prowadzenia systemu formularzy oraz zbierania danych dotyczących ruchu na stronie.

Więcej informacji znajdziesz w Polityce Prywatności

Akceptuję