Rozwiązanie - Egzamin Praktyczny INF.03

Arkusz INF.03-10-24.06-SG - Czerwiec 2024 - Wersja #10

Skrypt: JavaScript

Baza Danych:

Przykładowe rozwiązanie
Rozwiązanie - Arkusz praktyczny INF.03-10-24.06-SG - Czerwiec 2024 - Wersja #10
Wymagane zdjęcia
Egzamin INF.03-10-24.06-SG - dodatkowe zdjęcia - logo.png
logo.png
Egzamin INF.03-10-24.06-SG - dodatkowe zdjęcia - osoba1.jpg
osoba1.jpg
Egzamin INF.03-10-24.06-SG - dodatkowe zdjęcia - osoba2.jpg
osoba2.jpg
Egzamin INF.03-10-24.06-SG - dodatkowe zdjęcia - osoba3.jpg
osoba3.jpg
Wyniki działań na bazie danych
Egzamin INF.03-10-24.06-SG - Operacje na bazie danych - import.png
import.png
Egzamin INF.03-10-24.06-SG - Operacje na bazie danych - import.png
kw1.jpeg
Egzamin INF.03-10-24.06-SG - Operacje na bazie danych - import.png
kw2.jpeg
Egzamin INF.03-10-24.06-SG - Operacje na bazie danych - import.png
kw3.jpeg
Egzamin INF.03-10-24.06-SG - Operacje na bazie danych - import.png
kw4.jpeg
Plik kadra.sql
-- phpMyAdmin SQL Dump
-- version 5.2.1
-- https://www.phpmyadmin.net/
--
-- Host: 127.0.0.1
-- Generation Time: Paź 16, 2024 at 09:20 PM
-- Wersja serwera: 10.4.32-MariaDB
-- Wersja PHP: 8.2.12

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 */;

--
-- Database: `kadra`
--

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

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

CREATE TABLE `pracownicy` (
  `id` int(10) UNSIGNED NOT NULL,
  `stanowiska_id` int(10) UNSIGNED NOT NULL,
  `imie` varchar(20) DEFAULT NULL,
  `nazwisko` varchar(30) DEFAULT NULL,
  `pensja` int(10) UNSIGNED DEFAULT NULL,
  `staz` int(10) UNSIGNED DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data for table `pracownicy`
--

INSERT INTO `pracownicy` (`id`, `stanowiska_id`, `imie`, `nazwisko`, `pensja`, `staz`) VALUES
(1, 1, 'Krzysztof', 'Dobromilski', 8000, 30),
(2, 3, 'Ewa', 'Nowak', 5000, 20),
(3, 2, 'Joanna', 'Trojanowska', 6000, 15),
(4, 4, 'Jan', 'Nowacki', 5050, 10),
(5, 4, 'Ewelina', 'Kowal', 5000, 5),
(6, 4, 'Grzegorz', 'Kowalski', 5000, 5),
(7, 4, 'Janusz', 'Kos', 4700, 1),
(8, 4, 'Andżelika', 'Lawendowska', 4700, 2),
(9, 2, 'Konrad', 'Grzegorzewski', 6000, 13),
(10, 5, 'Jolanta', 'Trębosz', 4000, 10),
(11, 5, 'Michał', 'Tyniec', 4000, 9),
(12, 5, 'Joachim', 'Teterycz', 4000, 8),
(13, 5, 'Krzysztof', 'Gołębiowski', 3800, 5),
(14, 5, 'Adam', 'Sośnicki', 3800, 5);

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

--
-- Struktura tabeli dla tabeli `stanowiska`
--

CREATE TABLE `stanowiska` (
  `id` int(10) UNSIGNED NOT NULL,
  `nazwa` varchar(10) DEFAULT NULL,
  `minPensja` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data for table `stanowiska`
--

INSERT INTO `stanowiska` (`id`, `nazwa`, `minPensja`) VALUES
(1, 'Dyrektor', NULL),
(2, 'Kierownik', NULL),
(3, 'Kadrowa', NULL),
(4, 'Logistyk', NULL),
(5, 'Operator', NULL);

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

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

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

--
-- AUTO_INCREMENT for dumped tables
--

--
-- AUTO_INCREMENT for table `pracownicy`
--
ALTER TABLE `pracownicy`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=15;

--
-- AUTO_INCREMENT for table `stanowiska`
--
ALTER TABLE `stanowiska`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;
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 COUNT(*), pensja FROM pracownicy GROUP BY pensja ORDER BY pensja DESC;
Zapytanie 2: SELECT imie, nazwisko, nazwa FROM pracownicy JOIN stanowiska ON stanowiska_id = stanowiska.id WHERE staz > 10;
Zapytanie 3: SELECT nazwisko, pensja FROM pracownicy WHERE staz >= 10 AND staz <= 20;
Zapytanie 4: ALTER TABLE stanowiska ADD COLUMN minPensja INT;
Plik pracownicy.html
<!DOCTYPE html>
<html lang="pl">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Nasz zespół</title>
        <link rel="stylesheet" href="styl.css">
    </head>
    <body>
        <div id="header1">
            <img src="logo.png" alt="logo firmy">
        </div>

        <div id="header2">
            <h1>Nasz zespół</h1>
        </div>

        <main>
            <div>
                <img src="osoba1.jpg" alt="Dyrektor">
                <h2>Krzysztof Dobromilski</h2>
                <h3>Dyrektor</h3>
                <p>Firma logistyczna była jego marzeniem. Zrealizował je 10 lat temu. Nasza firma prosperuje dzięki Krzysztofowi</p>
                <p>telefon: 111222333</p>
                <h5><a href="mailto:[email protected]">Kontakt</a></h5>
            </div>

            <div>
                <img src="osoba2.jpg" alt="Kierownik logistyków">
                <h2>Joanna Trojanowska</h2>
                <h3>Kierownik logistyków</h3>
                <p>Od początku firmy z nami. Wie jak zorganizować pracę swoich logistyków aby wszystko było na czas</p>
                <p>telefon: 222333444</p>
                <h5><a href="mailto:[email protected]">Kontakt</a></h5>
            </div>

            <div>
                <img src="osoba3.jpg" alt="Kadry">
                <h2>Ewa Nowak</h2>
                <h3>Księgowość i kadry</h3>
                <p>Od lat finanse powierzamy niezawodnej Ewie. Twardą ręką trzyma kasę i dba o wszystkich pracowników</p>
                <p>telefon: 333444555</p>
                <h5><a href="[email protected]">Kontakt</a></h5>
            </div>
        </main>

        <div id="cytat">
            <div id="osoba1">
                <blockquote>
                    "Każdego dnia stawiam sobie nieosiągalne wyzwania i próbuję je wykonać"
                    <p>- Krzysztof</p>
                </blockquote> 
            </div>

            <div id="osoba2" style="display: none;">
                <blockquote>
                    "Nie bój się porażek, im więcej ich rozwiążesz, tym szybciej osiągniesz cel"
                    <p>- Joanna</p>
                </blockquote> 
            </div>

            <div id="osoba3" style="display: none;">
                <blockquote>
                    "Niezadowolony pracownik jest dla mnie źródłem nauki"
                    <p>- Ewa</p>
                </blockquote> 
            </div>
        </div>

        <footer>
            <p>Stronę wykonał: <a href="https://ee-informatyk.pl/" target="_blank" style="text-decoration: none;color: unset;">EE-Informatyk.pl</a></p>
        </footer>

        <script src="skrypt.js"></script>
    </body>
</html>
Plik skrypt.js
// Funkcja do obsługi kliknięć na cytaty
function toggleQuotes(clickedId) {
    // Pobieramy wszystkie elementy cytatów
    const quote1 = document.getElementById('osoba1');
    const quote2 = document.getElementById('osoba2');
    const quote3 = document.getElementById('osoba3');
    
    // Na podstawie kliknięcia zmieniamy widoczność cytatów
    if (clickedId === 'osoba1') {
        quote1.style.display = 'none';  // Ukryj pierwszy cytat
        quote2.style.display = 'block'; // Pokaż drugi cytat
    } else if (clickedId === 'osoba2') {
        quote2.style.display = 'none';  // Ukryj drugi cytat
        quote3.style.display = 'block'; // Pokaż trzeci cytat
    } else if (clickedId === 'osoba3') {
        quote3.style.display = 'none';  // Ukryj trzeci cytat
        quote1.style.display = 'block'; // Pokaż pierwszy cytat
    }
}

// Dodajemy nasłuch na kliknięcia dla każdego cytatu
document.getElementById('osoba1').addEventListener('click', function() {
    toggleQuotes('osoba1');
});
document.getElementById('osoba2').addEventListener('click', function() {
    toggleQuotes('osoba2');
});
document.getElementById('osoba3').addEventListener('click', function() {
    toggleQuotes('osoba3');
});
Plik styl.css
* {
    font-family: 'Bookman Old Style', 'Serif';
}

#header1,
#header2 {
    background-color: DarkCyan;
    color: white;
    width: 50%;
    height: 100px;
    letter-spacing: 15px;
    float: left;
}

main {
    clear: both;
}

footer {
    background-color: DarkCyan;
    color: white;
}

main div {
    float: left;
    background-color: Azure;
    width: 30%;
    margin: 1%;
    box-shadow: 4px 4px 8px DimGray;
}

main div > img {
    width: 100%;
}

#cytat {
    clear: both;
}

p,h2,h3 {
    margin: 15px;
}

a {
    color: white;
}

h5 {
    background-color: Teal;
    width: 100%;
    text-align: center;
    padding: 10px 0;
}

h5:hover {
    background-color: LightSeaGreen;
}

blockquote {
    text-align: center;
    padding: 30px 0;
    font-style: italic;
}

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ę