Rozwiązanie - Egzamin Praktyczny E.14
Arkusz E.14-01-22.01-SG - Styczeń 2022 - Wersja #01
Skrypt: PHP
Baza Danych:
Powiązana zawartość
Wymagane zdjęcia
Plik grzybobranie.sql
-- phpMyAdmin SQL Dump
-- version 5.2.0
-- https://www.phpmyadmin.net/
--
-- Host: 127.0.0.1
-- Czas generowania: 12 Mar 2023, 15:14
-- 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: `grzybobranie`
--
-- --------------------------------------------------------
--
-- Struktura tabeli dla tabeli `grzyby`
--
CREATE TABLE `grzyby` (
`id` int(10) UNSIGNED NOT NULL,
`rodzina_id` int(10) UNSIGNED NOT NULL,
`potrawy_id` int(10) UNSIGNED NOT NULL,
`nazwa` text DEFAULT NULL,
`potoczna` text DEFAULT NULL,
`jadalny` tinyint(1) DEFAULT NULL,
`miesiac_zbierania` int(11) DEFAULT NULL,
`nazwa_pliku` text DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;
--
-- Zrzut danych tabeli `grzyby`
--
INSERT INTO `grzyby` (`id`, `rodzina_id`, `potrawy_id`, `nazwa`, `potoczna`, `jadalny`, `miesiac_zbierania`, `nazwa_pliku`) VALUES
(1, 1, 2, 'pieczarka dwuzarodnikowa', 'pieczarka', 1, 0, 'pieczarka.jpg'),
(2, 1, 2, 'czubajka kania', 'kania', 1, 9, 'kania.jpg'),
(3, 2, 4, 'borowik szlachetny', 'prawdziwek', 1, 10, 'borowik.jpg'),
(4, 2, 4, 'xerocomus', 'podgrzybek', 1, 10, 'podgrzybek.jpg'),
(5, 2, 5, 'goryczak zolciowy', 'szatan', 0, -1, 'szatan.jpg'),
(6, 3, 1, 'pieprznik jadalny', 'kurka', 1, 9, 'kurka.jpg'),
(7, 5, 1, 'pleurotus', 'boczniak', 1, 0, 'boczniak.jpg'),
(8, 4, 3, 'trufla letnia', 'trufla', 1, 8, 'trufla.jpg');
-- --------------------------------------------------------
--
-- Struktura tabeli dla tabeli `potrawy`
--
CREATE TABLE `potrawy` (
`id` int(10) UNSIGNED NOT NULL,
`nazwa` text DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;
--
-- Zrzut danych tabeli `potrawy`
--
INSERT INTO `potrawy` (`id`, `nazwa`) VALUES
(1, 'sos'),
(2, 'duszone'),
(3, 'spagetti'),
(4, 'zupa'),
(5, 'niejadalne');
-- --------------------------------------------------------
--
-- Struktura tabeli dla tabeli `rodzina`
--
CREATE TABLE `rodzina` (
`id` int(10) UNSIGNED NOT NULL,
`nazwa` text DEFAULT NULL,
`opis` text DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;
--
-- Zrzut danych tabeli `rodzina`
--
INSERT INTO `rodzina` (`id`, `nazwa`, `opis`) VALUES
(1, 'pieczarkowate', NULL),
(2, 'borowikowate', NULL),
(3, 'pieprznikowate', NULL),
(4, 'truflowate', NULL),
(5, 'boczniakowate', NULL);
--
-- Indeksy dla zrzutów tabel
--
--
-- Indeksy dla tabeli `grzyby`
--
ALTER TABLE `grzyby`
ADD PRIMARY KEY (`id`);
--
-- Indeksy dla tabeli `potrawy`
--
ALTER TABLE `potrawy`
ADD PRIMARY KEY (`id`);
--
-- Indeksy dla tabeli `rodzina`
--
ALTER TABLE `rodzina`
ADD PRIMARY KEY (`id`);
--
-- AUTO_INCREMENT dla zrzuconych tabel
--
--
-- AUTO_INCREMENT dla tabeli `grzyby`
--
ALTER TABLE `grzyby`
MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=9;
--
-- AUTO_INCREMENT dla tabeli `potrawy`
--
ALTER TABLE `potrawy`
MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;
--
-- AUTO_INCREMENT dla tabeli `rodzina`
--
ALTER TABLE `rodzina`
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 id, nazwa, potoczna FROM grzyby WHERE jadalny = 1;
Zapytanie 2: SELECT grzyby.potoczna, rodzina.nazwa FROM grzyby INNER JOIN rodzina ON grzyby.rodzina_id = rodzina.id WHERE grzyby.potrawy_id = 4;
Zapytanie 3: SELECT nazwa_pliku, nazwa FROM grzyby;
Zapytanie 4: ALTER TABLE rodzina ADD COLUMN (opis TEXT);
Plik grzyby.php
<?php
$conn = new mysqli("localhost","root","","grzybobranie");
?>
<!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>Grzybobranie</title>
<link rel="stylesheet" href="styl.css">
</head>
<body>
<div id="tytul">
<h1>Czas na grzyby!</h1>
</div>
<div id="logo">
<a href="podgrzybek.jpg"><img src="podgrzybek-miniatura.jpg" alt="Grzybobranie"></a>
</div>
<div id="lewy">
<h3>Grzyby jadalne</h3>
<?php
// Skrypt #1
$sql = "SELECT id, nazwa, potoczna FROM grzyby WHERE jadalny = 1;";
$result = $conn->query($sql);
while($row = $result -> fetch_array()) {
echo "<p>".$row["id"].". ".$row["nazwa"]." (".$row["potoczna"].")</p>";
}
?>
<h3>Polecamy do zup</h3>
<ol>
<?php
// Skrypt #2
$sql = "SELECT grzyby.potoczna, rodzina.nazwa FROM grzyby INNER JOIN rodzina ON grzyby.rodzina_id = rodzina.id WHERE grzyby.potrawy_id = 4;";
$result = $conn->query($sql);
while($row = $result -> fetch_array()) {
echo "<li>".$row[0].", rodzina: ".$row[1]."</li>";
}
?>
</ol>
</div>
<div id="prawy">
<?php
// Skrypt #3
$sql = "SELECT nazwa_pliku, nazwa FROM grzyby;";
$result = $conn->query($sql);
while($row = $result -> fetch_array()) {
echo "<img src='".$row["nazwa_pliku"]."' title='".$row["nazwa"]."' alt='".$row["nazwa"]."'>";
}
?>
</div>
<footer>
<p>Autor: <a href="https://ee-informatyk.pl/" target="_blank" style="color: unset;text-decoration: none;">EE-Informatyk.pl</a></p>
</footer>
</body>
</html>
<?php
$conn -> close();
?>
Plik styl.css
body {
font-family: Helvetica;
}
#tytul {
background: forestgreen;
color: white;
height: 100px;
width: 80%;
text-align: center;
float: left;
}
#logo {
background: forestgreen;
height: 100px;
width: 20%;
float: left;
}
#lewy {
clear: both;
background: tan;
height: 700px;
width: 25%;
float: left;
}
#prawy {
background: tan;
height: 700px;
width: 75%;
float: left;
}
footer {
background: forestgreen;
color: white;
text-align: center;
clear: both;
}
img {
margin: 4px;
padding: 5px;
border: 1px solid forestgreen;
border-radius: 20px;
}
img:hover {
border: 1px solid maroon;
}
Powiązana zawartość
Autorem arkusza jest CKE.GOV.PL