Rozwiązanie - Egzamin Praktyczny E.14
Arkusz E.14-03-16.08 - Sierpień 2016 - Wersja #03
Skrypt: PHP
Baza Danych:
Powiązana zawartość
Plik sportowcy.sql
-- phpMyAdmin SQL Dump
-- version 5.2.0
-- https://www.phpmyadmin.net/
--
-- Host: 127.0.0.1
-- Czas generowania: 13 Mar 2023, 14:24
-- 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: `sportowcy`
--
-- --------------------------------------------------------
--
-- Struktura tabeli dla tabeli `dyscyplina`
--
CREATE TABLE `dyscyplina` (
`id` int(10) DEFAULT NULL,
`nazwa` text DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
--
-- Zrzut danych tabeli `dyscyplina`
--
INSERT INTO `dyscyplina` (`id`, `nazwa`) VALUES
(1, 'bieg na 100 m'),
(2, 'skok w dal'),
(3, 'rzut oszczepem'),
(4, 'sztafeta 4x400 m');
-- --------------------------------------------------------
--
-- Struktura tabeli dla tabeli `sportowiec`
--
CREATE TABLE `sportowiec` (
`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 `sportowiec`
--
INSERT INTO `sportowiec` (`id`, `imie`, `nazwisko`) VALUES
(1, 'Anna', 'Kowalska'),
(2, 'Monika', 'Nowak'),
(3, 'Ewelina', 'Nowakowska'),
(4, 'Janina', 'Przybylska'),
(5, 'Maria', 'Kowal'),
(6, 'Ewa', 'Nowacka');
-- --------------------------------------------------------
--
-- Struktura tabeli dla tabeli `wyniki`
--
CREATE TABLE `wyniki` (
`id` int(10) UNSIGNED NOT NULL,
`dyscyplina_id` int(10) UNSIGNED NOT NULL,
`sportowiec_id` int(10) UNSIGNED NOT NULL,
`wynik` decimal(5,2) DEFAULT NULL,
`dataUstanowienia` date DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;
--
-- Zrzut danych tabeli `wyniki`
--
INSERT INTO `wyniki` (`id`, `dyscyplina_id`, `sportowiec_id`, `wynik`, `dataUstanowienia`) VALUES
(1, 1, 1, '12.40', '2015-10-14'),
(2, 1, 1, '12.00', '2015-10-06'),
(3, 1, 2, '11.80', '2015-10-14'),
(4, 1, 2, '11.90', '2015-10-06'),
(5, 1, 3, '11.50', '2015-10-14'),
(6, 1, 3, '11.56', '2015-10-06'),
(7, 1, 4, '11.70', '2015-10-14'),
(8, 1, 4, '11.67', '2015-10-06'),
(9, 1, 5, '11.30', '2015-10-14'),
(10, 1, 5, '11.52', '2015-10-06'),
(11, 1, 6, '12.10', '2015-10-14'),
(12, 1, 6, '12.00', '2015-10-06'),
(13, 3, 1, '63.00', '2015-11-11'),
(14, 3, 1, '63.60', '2015-10-13'),
(15, 3, 2, '64.00', '2015-11-11'),
(16, 3, 2, '63.60', '2015-10-13'),
(17, 3, 3, '60.00', '2015-11-11'),
(18, 3, 3, '61.60', '2015-10-13'),
(19, 3, 4, '63.50', '2015-11-11'),
(20, 3, 4, '63.60', '2015-10-13'),
(21, 3, 5, '70.00', '2015-10-07'),
(22, 3, 6, '68.00', '2015-10-07');
--
-- Indeksy dla zrzutów tabel
--
--
-- Indeksy dla tabeli `sportowiec`
--
ALTER TABLE `sportowiec`
ADD PRIMARY KEY (`id`);
--
-- Indeksy dla tabeli `wyniki`
--
ALTER TABLE `wyniki`
ADD PRIMARY KEY (`id`);
--
-- AUTO_INCREMENT dla zrzuconych tabel
--
--
-- AUTO_INCREMENT dla tabeli `sportowiec`
--
ALTER TABLE `sportowiec`
MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=7;
--
-- AUTO_INCREMENT dla tabeli `wyniki`
--
ALTER TABLE `wyniki`
MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=23;
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(id) FROM sportowiec;
Zapytanie 2: SELECT imie, nazwisko FROM sportowiec WHERE id=1;
Zapytanie 3: SELECT AVG(wynik) FROM wyniki WHERE dyscyplina_id = 3 AND sportowiec_id = 1;
Zapytanie 4: SELECT MAX(wynik) FROM wyniki WHERE dyscyplina_id = 3;
Plik oszczep.php
<!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>Rzut oszczepem</title>
<link rel="stylesheet" href="styl_oszczep.css">
</head>
<body>
<header>
<h1>Klub sportowy: rzut oszczepem</h1>
</header>
<main>
<?php
// Skrypt #1
$conn = new mysqli("localhost","root","","sportowcy");
$sql = "SELECT MAX(wynik) FROM wyniki WHERE dyscyplina_id = 3;";
$result = $conn->query($sql);
while($row = $result -> fetch_array()) {
echo "<h1>Nasz rekord: ".$row[0]." m</h1>";
}
$sql = "SELECT COUNT(id) FROM sportowiec;";
$result = $conn->query($sql);
while($row = $result -> fetch_row()) {
$liczba_rekordow = $row[0];
}
$liczba_kolumn = 2;
$liczba_wierszy = ceil($liczba_rekordow/$liczba_kolumn);
echo "<table>";
$id = 0;
for ($i=0; $i < $liczba_wierszy; $i++) {
echo "<tr>";
for ($j=0; $j < $liczba_kolumn; $j++) {
$id++;
if($i*$liczba_kolumn+$j < $liczba_rekordow) {
echo "<td>";
$sql = "SELECT imie, nazwisko FROM sportowiec WHERE id=$id;";
$result = $conn->query($sql);
while($row = $result -> fetch_array()) {
echo "<h3>".$row["imie"]." ".$row["nazwisko"]."</h3>";
}
$sql = "SELECT AVG(wynik) FROM wyniki WHERE dyscyplina_id = 3 AND sportowiec_id = $id;";
$result = $conn->query($sql);
while($row = $result -> fetch_array()) {
echo "<p>średni wynik: ".$row[0]."</p>";
}
echo "</td>";
}
}
echo "</tr>";
}
echo "</table>";
$conn -> close();
?>
</main>
<footer>
<p>Klub sportowy</p>
Stronę opracował: <a href="https://ee-informatyk.pl/" target="_blank" style="color: unset;text-decoration: none;">EE-Informatyk.pl</a>
</footer>
</body>
</html>
Plik styl_oszczep.css
header,
footer {
background: #773D24;
color: white;
text-align: center;
padding: 20px;
}
main {
background: #B97E65;
height: 600px;
}
main h1 {
margin-top: 0;
}
table {
width: 80%;
border-spacing: 30px;
}
td {
background: #DEAD98;
}
p {
text-align: center;
}
Powiązana zawartość
Autorem arkusza jest CKE.GOV.PL