Rozwiązanie - Egzamin Praktyczny E.14
Arkusz E.14-03-19.01 - Styczeń 2019 - Wersja #03
Skrypt: PHP
Baza Danych:
Powiązana zawartość
Plik dane.sql
-- phpMyAdmin SQL Dump
-- version 5.2.0
-- https://www.phpmyadmin.net/
--
-- Host: 127.0.0.1
-- Czas generowania: 11 Mar 2023, 08:06
-- 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: `dane`
--
-- --------------------------------------------------------
--
-- Struktura tabeli dla tabeli `filmy`
--
CREATE TABLE `filmy` (
`id` int(10) UNSIGNED NOT NULL,
`gatunki_id` int(10) UNSIGNED NOT NULL,
`rezyserzy_id` int(10) UNSIGNED NOT NULL,
`tytul` text DEFAULT NULL,
`rok` year(4) DEFAULT NULL,
`ocena` int(10) UNSIGNED DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;
--
-- Zrzut danych tabeli `filmy`
--
INSERT INTO `filmy` (`id`, `gatunki_id`, `rezyserzy_id`, `tytul`, `rok`, `ocena`) VALUES
(1, 1, 1, 'Arrival', 2016, 4),
(2, 2, 2, 'Vaiana: Skarb oceanu', 2016, 5),
(3, 3, 3, 'Sully', 2016, 5),
(4, 3, 4, 'Milczenie', 2017, 6),
(5, 4, 5, 'Uciekaj!', 2017, 5),
(6, 5, 6, 'W starym, dobrym stylu', 2017, 6),
(7, 5, 7, 'Bodyguard Zawodowiec', 2017, 5);
-- --------------------------------------------------------
--
-- Struktura tabeli dla tabeli `gatunki`
--
CREATE TABLE `gatunki` (
`id` int(10) UNSIGNED NOT NULL,
`nazwa` text DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;
--
-- Zrzut danych tabeli `gatunki`
--
INSERT INTO `gatunki` (`id`, `nazwa`) VALUES
(1, 'Sci-Fi'),
(2, 'animacja'),
(3, 'dramat'),
(4, 'horror'),
(5, 'komedia');
-- --------------------------------------------------------
--
-- Struktura tabeli dla tabeli `rezyserzy`
--
CREATE TABLE `rezyserzy` (
`id` int(10) UNSIGNED NOT NULL,
`imie` text DEFAULT NULL,
`nazwisko` text DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;
--
-- Zrzut danych tabeli `rezyserzy`
--
INSERT INTO `rezyserzy` (`id`, `imie`, `nazwisko`) VALUES
(1, 'Denis', 'Villeneuve'),
(2, 'Ron', 'Clements'),
(3, 'Clint', 'Eastwood'),
(4, 'Martin', 'Scorseze'),
(5, 'Jordan', 'Peele'),
(6, 'Zach', 'Braff'),
(7, 'Patrick', 'Hughes'),
(8, 'Francis Ford', 'Coppola');
--
-- Indeksy dla zrzutów tabel
--
--
-- Indeksy dla tabeli `filmy`
--
ALTER TABLE `filmy`
ADD PRIMARY KEY (`id`);
--
-- Indeksy dla tabeli `gatunki`
--
ALTER TABLE `gatunki`
ADD PRIMARY KEY (`id`);
--
-- Indeksy dla tabeli `rezyserzy`
--
ALTER TABLE `rezyserzy`
ADD PRIMARY KEY (`id`);
--
-- AUTO_INCREMENT dla zrzuconych tabel
--
--
-- AUTO_INCREMENT dla tabeli `filmy`
--
ALTER TABLE `filmy`
MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=8;
--
-- AUTO_INCREMENT dla tabeli `gatunki`
--
ALTER TABLE `gatunki`
MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;
--
-- AUTO_INCREMENT dla tabeli `rezyserzy`
--
ALTER TABLE `rezyserzy`
MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=9;
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 tytul, rok, ocena FROM filmy, gatunki WHERE filmy.gatunki_id = gatunki.id AND gatunki.nazwa = 'komedia';
Zapytanie 2: SELECT filmy.id, filmy.tytul, rezyserzy.imie, rezyserzy.nazwisko FROM filmy, rezyserzy WHERE filmy.rezyserzy_id = rezyserzy.id;
Zapytanie 3: SELECT id, tytul FROM filmy WHERE rok = 2017 AND id = 6;
Zapytanie 4: UPDATE rezyserzy SET imie = 'Francis Ford' WHERE id = 8;
Plik index.php
<?php
$conn = new mysqli("localhost","root","","dane");
?>
<!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>Filmoteka</title>
<link rel="stylesheet" href="styl3.css">
</head>
<body>
<div id="naglowek1">
<img src="klaps.png" alt="Nasze filmy">
</div>
<div id="naglowek2">
<h1>BAZA FILMÓW</h1>
</div>
<div id="naglowek3">
<form action="index.php" method="post">
<select name="lista" id="lista">
<option value="Sci-Fi">Sci-Fi</option>
<option value="animacja">animacja</option>
<option value="dramat">dramat</option>
<option value="horror">horror</option>
<option value="komedia">komedia</option>
</select>
<button type="submit">Filmy</button>
</form>
</div>
<div id="naglowek4">
<img src="gwiezdneWojny.jpg" alt="szturmowcy">
</div>
<div id="lewy">
<h2>Wybrano filmy:</h2>
<?php
// Skrypt #1
if(isset($_POST["lista"])) {
$lista = $_POST["lista"];
$sql = "SELECT tytul, rok, ocena FROM filmy, gatunki WHERE filmy.gatunki_id = gatunki.id AND gatunki.nazwa = '$lista';";
$result = $conn->query($sql);
while($row = $result -> fetch_array()) {
echo "<p>Tytuł: ".$row["tytul"].", Rok produkcji: ".$row["rok"].", Ocena: ".$row["ocena"]."</p>";
}
}
?>
</div>
<div id="prawy">
<h2>Wszystkie filmy</h2>
<?php
// Skrypt #2
$sql = "SELECT filmy.id, filmy.tytul, rezyserzy.imie, rezyserzy.nazwisko FROM filmy, rezyserzy WHERE filmy.rezyserzy_id = rezyserzy.id;";
$result = $conn->query($sql);
while($row = $result -> fetch_array()) {
echo "<p>".$row[0].". ".$row[1].", reżyseria: ".$row[2]." ".$row[3]."</p>";
}
?>
</div>
<footer>
<p>Autor: <a href="https://ee-informatyk.pl/" target="_blank" style="color: orange;text-decoration: none;">EE-Informatyk.pl</a></p>
<a href="kwerendy.txt">Zapytania do bazy</a> <a href="filmy.pl" target="_blank">Przejdź do filmy.pl</a>
</footer>
</body>
</html>
<?php
$conn -> close();
?>
Plik styl3.css
body {
font-family: Garamond;
}
#naglowek1,
#naglowek2,
#naglowek3,
#naglowek4 {
float: left;
background: #790DB5;
color: orange;
height: 200px;
width: 25%;
text-align: center;
}
#lewy {
clear: both;
}
#lewy,
#prawy {
background: #FFE6A3;
height: 500px;
width: 50%;
float: left;
}
footer {
background: #790DB5;
color: orange;
text-align: center;
padding: 30px;
clear: both;
}
form {
padding-top: 60px;
}
p {
font-size: 150%;
}
a {
color: yellow;
}
a:visited {
color: orange;
}
Powiązana zawartość
Autorem arkusza jest CKE.GOV.PL