diff --git a/Egzamin/49 inf_03_2025_06_11_php_opony/import.png b/Egzamin/49 inf_03_2025_06_11_php_opony/import.png new file mode 100644 index 0000000..f66b4d0 Binary files /dev/null and b/Egzamin/49 inf_03_2025_06_11_php_opony/import.png differ diff --git a/Egzamin/49 inf_03_2025_06_11_php_opony/kw1.png b/Egzamin/49 inf_03_2025_06_11_php_opony/kw1.png new file mode 100644 index 0000000..140a742 Binary files /dev/null and b/Egzamin/49 inf_03_2025_06_11_php_opony/kw1.png differ diff --git a/Egzamin/49 inf_03_2025_06_11_php_opony/kw2.png b/Egzamin/49 inf_03_2025_06_11_php_opony/kw2.png new file mode 100644 index 0000000..3129df1 Binary files /dev/null and b/Egzamin/49 inf_03_2025_06_11_php_opony/kw2.png differ diff --git a/Egzamin/49 inf_03_2025_06_11_php_opony/kw3.png b/Egzamin/49 inf_03_2025_06_11_php_opony/kw3.png new file mode 100644 index 0000000..861a48b Binary files /dev/null and b/Egzamin/49 inf_03_2025_06_11_php_opony/kw3.png differ diff --git a/Egzamin/49 inf_03_2025_06_11_php_opony/kw4.png b/Egzamin/49 inf_03_2025_06_11_php_opony/kw4.png new file mode 100644 index 0000000..44bdc9c Binary files /dev/null and b/Egzamin/49 inf_03_2025_06_11_php_opony/kw4.png differ diff --git a/Egzamin/49 inf_03_2025_06_11_php_opony/kwerendy.txt b/Egzamin/49 inf_03_2025_06_11_php_opony/kwerendy.txt new file mode 100644 index 0000000..fe6d67b --- /dev/null +++ b/Egzamin/49 inf_03_2025_06_11_php_opony/kwerendy.txt @@ -0,0 +1,4 @@ +SELECT * FROM opony ORDER BY cena LIMIT 10; +SELECT producent, model, sezon, cena FROM opony WHERE nr_kat = 9; +SELECT id_zam, ilosc, model, cena FROM zamowienie JOIN opony USING(nr_kat) ORDER BY RAND() LIMIT 1; +UPDATE opony SET cena = cena * 0.75 WHERE sezon = 'letnia'; \ No newline at end of file diff --git a/Egzamin/49 inf_03_2025_06_11_php_opony/lato.png b/Egzamin/49 inf_03_2025_06_11_php_opony/lato.png new file mode 100644 index 0000000..a25ac8f Binary files /dev/null and b/Egzamin/49 inf_03_2025_06_11_php_opony/lato.png differ diff --git a/Egzamin/49 inf_03_2025_06_11_php_opony/opona.jpg b/Egzamin/49 inf_03_2025_06_11_php_opony/opona.jpg new file mode 100644 index 0000000..14dbb15 Binary files /dev/null and b/Egzamin/49 inf_03_2025_06_11_php_opony/opona.jpg differ diff --git a/Egzamin/49 inf_03_2025_06_11_php_opony/opona.png b/Egzamin/49 inf_03_2025_06_11_php_opony/opona.png new file mode 100644 index 0000000..65d4534 Binary files /dev/null and b/Egzamin/49 inf_03_2025_06_11_php_opony/opona.png differ diff --git a/Egzamin/49 inf_03_2025_06_11_php_opony/opona.sql b/Egzamin/49 inf_03_2025_06_11_php_opony/opona.sql new file mode 100644 index 0000000..9526e2b --- /dev/null +++ b/Egzamin/49 inf_03_2025_06_11_php_opony/opona.sql @@ -0,0 +1,494 @@ + +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: `oponeum` +-- + +-- -------------------------------------------------------- + +-- +-- Struktura tabeli dla tabeli `klient` +-- + +CREATE TABLE `klient` ( + `id` int(11) NOT NULL, + `imie` varchar(30) COLLATE utf8_polish_ci NOT NULL, + `nazwisko` varchar(30) COLLATE utf8_polish_ci NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci; + +-- +-- Zrzut danych tabeli `klient` +-- + +INSERT INTO `klient` (`id`, `imie`, `nazwisko`) VALUES +(1, 'Jan', 'Kowalski'), +(2, 'Leon', 'Kowalski'), +(3, 'Janina', 'Kowalska'), +(4, 'Tomsz', 'Kowalski'), +(5, 'Anna', 'Kowalska'), +(6, 'Jan', 'Nowak'), +(7, 'Elżbieta', 'Kościow'), +(8, 'Marcin', 'Sobierajski'), +(9, 'Karolina', 'Antkowa'); + +-- -------------------------------------------------------- + +-- +-- Struktura tabeli dla tabeli `opony` +-- + +CREATE TABLE `opony` ( + `nr_kat` int(11) NOT NULL, + `producent` varchar(50) COLLATE utf8_polish_ci NOT NULL, + `model` varchar(30) COLLATE utf8_polish_ci NOT NULL, + `sezon` varchar(20) COLLATE utf8_polish_ci NOT NULL DEFAULT 'letnia', + `cena` decimal(10,2) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci; + +-- +-- Zrzut danych tabeli `opony` +-- + +INSERT INTO `opony` (`nr_kat`, `producent`, `model`, `sezon`, `cena`) VALUES +(1, 'uLFA', 'AL100', 'letnia', '290.50'), +(2, 'uLFA', 'AL105', 'letnia', '105.50'), +(3, 'uLFA', 'AL105', 'letnia', '210.50'), +(4, 'uLFA', 'AL125', 'letnia', '110.50'), +(5, 'uLFA', 'AL123', 'zimowa', '215.00'), +(6, 'uLFA', 'AL205', 'zimowa', '212.50'), +(7, 'uLFA', 'AL122', 'uniwersalna', '110.50'), +(8, 'uLFA', 'AL305', 'zimowa', '110.00'), +(9, 'uLFA', 'AL135', 'zimowa', '101.50'), +(10, 'uLFA', 'AL103', 'zimowa', '220.50'), +(11, 'uLFA', 'AL435', 'letnia', '212.00'), +(12, 'uLFA', 'AL235', 'letnia', '210.50'), +(13, 'uLFA', 'AL332', 'letnia', '214.00'), +(14, 'uLFA', 'AL111', 'letnia', '220.50'), +(15, 'eLFA', 'EL105', 'letnia', '210.50'), +(16, 'eLFA', 'EL105', 'letnia', '199.00'), +(17, 'eLFA', 'EL125', 'uniwersalna', '110.50'), +(18, 'eLFA', 'EL123', 'uniwersalna', '215.00'), +(19, 'eLFA', 'EL205', 'letnia', '292.50'), +(20, 'eLFA', 'EL122', 'zimowa', '190.50'), +(21, 'eLFA', 'EL305', 'zimowa', '110.00'), +(22, 'LFA', 'LF135', 'letnia', '150.50'), +(23, 'LFA', 'LF103', 'letnia', '220.50'), +(24, 'ALF', 'AF435', 'letnia', '212.00'), +(25, 'ALF', 'AF235', 'letnia', '310.50'), +(26, 'ALF', 'AF332', 'letnia', '214.00'), +(27, 'LFA', 'LL111', 'letnia', '220.50'); + +-- -------------------------------------------------------- + +-- +-- Struktura tabeli dla tabeli `zamowienie` +-- + +CREATE TABLE `zamowienie` ( + `id_zam` int(11) NOT NULL, + `id` int(11) NOT NULL, + `nr_kat` int(11) NOT NULL, + `ilosc` int(11) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci; + +-- +-- Zrzut danych tabeli `zamowienie` +-- + +INSERT INTO `zamowienie` (`id_zam`, `id`, `nr_kat`, `ilosc`) VALUES +(1, 7, 1, 4), +(2, 8, 10, 2), +(3, 6, 18, 3), +(4, 2, 6, 4), +(5, 5, 3, 3), +(6, 1, 24, 4), +(7, 1, 1, 4), +(8, 8, 14, 3), +(9, 9, 14, 1), +(10, 4, 25, 2), +(11, 2, 1, 3), +(12, 4, 11, 1), +(13, 6, 23, 4), +(14, 8, 2, 1), +(15, 6, 23, 4), +(16, 3, 25, 2), +(17, 7, 2, 4), +(18, 7, 17, 1), +(19, 3, 24, 2), +(20, 1, 14, 2), +(21, 6, 25, 1), +(22, 6, 3, 3), +(23, 4, 21, 2), +(24, 2, 14, 1), +(25, 6, 5, 2), +(26, 6, 8, 4), +(27, 2, 27, 1), +(28, 2, 4, 1), +(29, 3, 18, 1), +(30, 8, 22, 1), +(31, 1, 2, 3), +(32, 2, 25, 4), +(33, 7, 9, 3), +(34, 1, 24, 1), +(35, 2, 13, 2), +(36, 5, 19, 2), +(37, 1, 3, 4), +(38, 6, 9, 3), +(39, 7, 9, 4), +(40, 2, 20, 4), +(41, 6, 16, 1), +(42, 6, 22, 4), +(43, 1, 7, 2), +(44, 4, 22, 2), +(45, 7, 6, 3), +(46, 4, 18, 3), +(47, 9, 20, 4), +(48, 2, 17, 4), +(49, 1, 24, 2), +(50, 9, 13, 2), +(51, 7, 20, 3), +(52, 5, 7, 1), +(53, 4, 2, 1), +(54, 4, 13, 3), +(55, 7, 7, 4), +(56, 4, 21, 3), +(57, 7, 4, 3), +(58, 4, 10, 1), +(59, 1, 11, 2), +(60, 1, 24, 3), +(61, 2, 4, 2), +(62, 4, 2, 2), +(63, 5, 27, 1), +(64, 5, 18, 2), +(65, 1, 9, 3), +(66, 5, 17, 2), +(67, 6, 6, 3), +(68, 5, 4, 1), +(69, 7, 27, 1), +(70, 3, 16, 2), +(71, 8, 23, 2), +(72, 5, 15, 1), +(73, 8, 6, 1), +(74, 9, 10, 4), +(75, 9, 4, 4), +(76, 9, 18, 4), +(77, 3, 24, 2), +(78, 8, 11, 1), +(79, 6, 7, 3), +(80, 2, 4, 4), +(81, 3, 27, 3), +(82, 3, 13, 1), +(83, 6, 11, 3), +(84, 2, 15, 2), +(85, 2, 16, 3), +(86, 2, 8, 3), +(87, 5, 19, 3), +(88, 9, 14, 1), +(89, 3, 12, 3), +(90, 3, 18, 2), +(91, 7, 1, 1), +(92, 7, 3, 4), +(93, 7, 13, 4), +(94, 5, 26, 1), +(95, 7, 10, 4), +(96, 1, 25, 3), +(97, 5, 15, 2), +(98, 9, 25, 2), +(99, 3, 27, 1), +(100, 4, 6, 2), +(101, 3, 1, 3), +(102, 3, 13, 2), +(103, 5, 9, 3), +(104, 5, 3, 1), +(105, 9, 16, 4), +(106, 6, 16, 2), +(107, 9, 7, 1), +(108, 7, 11, 1), +(109, 9, 9, 1), +(110, 6, 11, 2), +(111, 2, 27, 4), +(112, 2, 22, 4), +(113, 3, 26, 1), +(114, 1, 12, 2), +(115, 2, 9, 2), +(116, 8, 8, 2), +(117, 5, 14, 1), +(118, 3, 15, 3), +(119, 6, 9, 4), +(120, 4, 24, 2), +(121, 9, 13, 1), +(122, 8, 19, 3), +(123, 2, 3, 4), +(124, 2, 10, 1), +(125, 3, 13, 3), +(126, 9, 10, 2), +(127, 7, 9, 1), +(128, 9, 15, 1), +(129, 3, 21, 2), +(130, 9, 4, 2), +(131, 6, 13, 1), +(132, 7, 25, 4), +(133, 7, 2, 1), +(134, 1, 18, 3), +(135, 9, 2, 4), +(136, 2, 8, 4), +(137, 3, 8, 3), +(138, 1, 15, 2), +(139, 3, 22, 4), +(140, 5, 13, 3), +(141, 6, 24, 1), +(142, 3, 2, 2), +(143, 6, 15, 4), +(144, 4, 16, 1), +(145, 9, 6, 4), +(146, 3, 10, 1), +(147, 8, 4, 1), +(148, 2, 15, 4), +(149, 4, 10, 1), +(150, 6, 4, 2), +(151, 6, 16, 2), +(152, 2, 13, 1), +(153, 3, 15, 2), +(154, 6, 12, 4), +(155, 3, 12, 2), +(156, 7, 24, 4), +(157, 8, 2, 3), +(158, 7, 20, 1), +(159, 1, 13, 3), +(160, 3, 3, 3), +(161, 3, 5, 2), +(162, 3, 12, 1), +(163, 4, 19, 1), +(164, 4, 4, 1), +(165, 9, 17, 3), +(166, 2, 17, 4), +(167, 4, 8, 2), +(168, 1, 16, 3), +(169, 5, 3, 3), +(170, 2, 18, 1), +(171, 4, 1, 2), +(172, 3, 4, 1), +(173, 3, 15, 1), +(174, 7, 10, 1), +(175, 8, 5, 2), +(176, 7, 19, 4), +(177, 2, 27, 4), +(178, 6, 24, 1), +(179, 8, 13, 3), +(180, 3, 18, 2), +(181, 8, 25, 3), +(182, 2, 15, 1), +(183, 3, 27, 1), +(184, 3, 6, 3), +(185, 2, 6, 3), +(186, 2, 11, 1), +(187, 4, 7, 2), +(188, 4, 5, 1), +(189, 6, 27, 3), +(190, 9, 13, 1), +(191, 1, 8, 4), +(192, 5, 4, 3), +(193, 2, 22, 2), +(194, 6, 16, 2), +(195, 2, 12, 1), +(196, 4, 14, 3), +(197, 3, 5, 3), +(198, 4, 11, 3), +(199, 7, 12, 1), +(200, 9, 1, 4), +(201, 9, 22, 4), +(202, 1, 24, 3), +(203, 4, 2, 3), +(204, 9, 18, 2), +(205, 4, 3, 1), +(206, 9, 13, 2), +(207, 7, 1, 3), +(208, 9, 19, 1), +(209, 6, 11, 4), +(210, 2, 23, 3), +(211, 8, 3, 3), +(212, 9, 24, 2), +(213, 1, 6, 4), +(214, 7, 9, 2), +(215, 2, 25, 4), +(216, 7, 18, 3), +(217, 9, 14, 2), +(218, 4, 17, 2), +(219, 5, 15, 3), +(220, 4, 23, 1), +(221, 3, 15, 1), +(222, 5, 7, 1), +(223, 3, 16, 3), +(224, 2, 6, 1), +(225, 8, 9, 3), +(226, 5, 27, 1), +(227, 3, 27, 1), +(228, 9, 24, 4), +(229, 2, 12, 3), +(230, 6, 15, 1), +(231, 7, 10, 4), +(232, 6, 6, 4), +(233, 4, 25, 2), +(234, 2, 26, 4), +(235, 5, 2, 1), +(236, 7, 14, 4), +(237, 2, 6, 1), +(238, 1, 16, 3), +(239, 1, 6, 3), +(240, 1, 10, 1), +(241, 2, 6, 1), +(242, 7, 25, 3), +(243, 2, 24, 2), +(244, 7, 19, 4), +(245, 9, 22, 2), +(246, 4, 26, 1), +(247, 2, 9, 4), +(248, 7, 22, 1), +(249, 1, 1, 3), +(250, 1, 18, 1), +(251, 9, 6, 4), +(252, 9, 1, 4), +(253, 4, 16, 3), +(254, 4, 23, 3), +(255, 6, 13, 3), +(256, 9, 23, 4), +(257, 9, 21, 3), +(258, 7, 10, 4), +(259, 7, 10, 4), +(260, 3, 22, 1), +(261, 6, 26, 3), +(262, 1, 8, 1), +(263, 3, 16, 1), +(264, 4, 3, 3), +(265, 3, 17, 4), +(266, 2, 25, 2), +(267, 1, 17, 1), +(268, 7, 12, 2), +(269, 7, 7, 4), +(270, 2, 25, 2), +(271, 4, 22, 1), +(272, 7, 10, 4), +(273, 1, 10, 4), +(274, 2, 17, 1), +(275, 6, 2, 4), +(276, 5, 13, 1), +(277, 6, 4, 1), +(278, 6, 7, 4), +(279, 1, 24, 1), +(280, 5, 18, 2), +(281, 4, 18, 3), +(282, 3, 6, 1), +(283, 5, 5, 1), +(284, 7, 4, 1), +(285, 9, 6, 4), +(286, 5, 19, 1), +(287, 7, 22, 4), +(288, 1, 25, 2), +(289, 1, 4, 2), +(290, 1, 24, 2), +(291, 2, 2, 3), +(292, 6, 19, 4), +(293, 4, 6, 2), +(294, 3, 25, 3), +(295, 2, 27, 2), +(296, 1, 4, 1), +(297, 9, 19, 3), +(298, 6, 3, 4), +(299, 9, 10, 4), +(300, 6, 14, 3), +(301, 6, 11, 3), +(302, 1, 15, 3), +(303, 5, 13, 2), +(304, 4, 20, 2), +(305, 2, 5, 4), +(306, 8, 18, 1), +(307, 8, 23, 2), +(308, 5, 5, 3), +(309, 8, 8, 1), +(310, 7, 26, 1), +(311, 3, 23, 2), +(312, 1, 13, 2), +(313, 3, 19, 2), +(314, 7, 2, 4), +(315, 7, 6, 4), +(316, 9, 25, 4), +(317, 9, 24, 3), +(318, 2, 19, 2), +(319, 1, 22, 1), +(320, 7, 25, 2), +(321, 6, 6, 2), +(322, 8, 9, 3), +(323, 5, 25, 3), +(324, 8, 16, 3), +(325, 6, 5, 3); + +-- +-- Indeksy dla zrzutów tabel +-- + +-- +-- Indeksy dla tabeli `klient` +-- +ALTER TABLE `klient` + ADD PRIMARY KEY (`id`); + +-- +-- Indeksy dla tabeli `opony` +-- +ALTER TABLE `opony` + ADD PRIMARY KEY (`nr_kat`); + +-- +-- Indeksy dla tabeli `zamowienie` +-- +ALTER TABLE `zamowienie` + ADD PRIMARY KEY (`id_zam`), + ADD KEY `id` (`id`,`nr_kat`), + ADD KEY `nr_kat` (`nr_kat`); + +-- +-- AUTO_INCREMENT dla zrzuconych tabel +-- + +-- +-- AUTO_INCREMENT dla tabeli `klient` +-- +ALTER TABLE `klient` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=10; + +-- +-- AUTO_INCREMENT dla tabeli `opony` +-- +ALTER TABLE `opony` + MODIFY `nr_kat` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=28; + +-- +-- AUTO_INCREMENT dla tabeli `zamowienie` +-- +ALTER TABLE `zamowienie` + MODIFY `id_zam` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=326; + +-- +-- Ograniczenia dla zrzutów tabel +-- + +-- +-- Ograniczenia dla tabeli `zamowienie` +-- +ALTER TABLE `zamowienie` + ADD CONSTRAINT `zamowienie_ibfk_1` FOREIGN KEY (`id`) REFERENCES `klient` (`id`), + ADD CONSTRAINT `zamowienie_ibfk_2` FOREIGN KEY (`nr_kat`) REFERENCES `opony` (`nr_kat`); +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 */; diff --git a/Egzamin/49 inf_03_2025_06_11_php_opony/opony.php b/Egzamin/49 inf_03_2025_06_11_php_opony/opony.php new file mode 100644 index 0000000..2fe8ab2 --- /dev/null +++ b/Egzamin/49 inf_03_2025_06_11_php_opony/opony.php @@ -0,0 +1,74 @@ + + + + + + + + OPONY + + + +
+
+ "; + if ($row['sezon'] == 'letnia') { + echo "letnia"; + } elseif ($row['sezon'] == 'zimowa') { + echo "zimowa"; + } elseif ($row['sezon'] == 'uniwersalna') { + echo "uniwersalna"; + } + echo "

Opona: {$row['producent']} {$row['model']}

"; + echo "

Cena: {$row['cena']}

"; + echo "
"; + } + ?> +

więcej ofert

+
+
+
+ Opona +

Opona dnia

+ {$row['producent']} model {$row['model']}"; + echo "

Sezon: {$row['sezon']}

"; + echo "

Tylko {$row['cena']} zł!

"; + } + ?> +
+
+

Najnowsze zamówienie

+ {$row['id_zam']}{$row['ilosc']} sztuki modelu {$row['model']}"; + echo "

Wartość zamówienia {$wartosc} zł

"; + } + ?> +
+
+ + + + + \ No newline at end of file diff --git a/Egzamin/49 inf_03_2025_06_11_php_opony/styl.css b/Egzamin/49 inf_03_2025_06_11_php_opony/styl.css new file mode 100644 index 0000000..9d886f6 --- /dev/null +++ b/Egzamin/49 inf_03_2025_06_11_php_opony/styl.css @@ -0,0 +1,58 @@ +* { + font-family: "Trebuchet MS", sans-serif; + box-sizing: border-box; + #margin: 0; + #padding: 0; +} +#main { + display: flex; +} +#sections { + display: flex; + flex-direction: column; + width: 60%; +} +#side-block { + background: #C5CAE9; + width: 40%; + height: 600px; + overflow: auto; +} +section { + width: 100%; + height: 300px; +} +#section-1 { + background: #9FA8DA; +} +#section-2 { + background: #7986CB; +} +footer { + background: #283593; + color: white; + padding: 20px; +} +.opona { + background: #9FA8DA; + margin: 40px; + border: 2px dotted #283593; + border-radius: 30px; +} +img { + padding: 20px; + float: left; +} +h2 { + text-align: center; + margin: 0; + padding: 15px; +} +h3 { + background: #7986CB; + color: white; + font-size: 140%; +} +#section > h3 { + display: inline; +} \ No newline at end of file diff --git a/Egzamin/49 inf_03_2025_06_11_php_opony/uniwer.png b/Egzamin/49 inf_03_2025_06_11_php_opony/uniwer.png new file mode 100644 index 0000000..3ed8e25 Binary files /dev/null and b/Egzamin/49 inf_03_2025_06_11_php_opony/uniwer.png differ diff --git a/Egzamin/49 inf_03_2025_06_11_php_opony/zima.png b/Egzamin/49 inf_03_2025_06_11_php_opony/zima.png new file mode 100644 index 0000000..87d0274 Binary files /dev/null and b/Egzamin/49 inf_03_2025_06_11_php_opony/zima.png differ