Rozwiązanie - Egzamin Praktyczny EE.09
Arkusz EE.09-03-21.01-SG - Styczeń 2021 - Wersja #03
Skrypt: PHP
Baza Danych:
Powiązana zawartość
Plik egzamin.sql
-- phpMyAdmin SQL Dump
-- version 5.2.0
-- https://www.phpmyadmin.net/
--
-- Host: 127.0.0.1
-- Czas generowania: 27 Mar 2023, 14:44
-- 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: `egzamin`
--
-- --------------------------------------------------------
--
-- Struktura tabeli dla tabeli `bmi`
--
CREATE TABLE `bmi` (
`id` int(10) UNSIGNED NOT NULL,
`wart_min` int(10) UNSIGNED DEFAULT NULL,
`wart_max` int(10) UNSIGNED DEFAULT NULL,
`informacja` text DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;
--
-- Zrzut danych tabeli `bmi`
--
INSERT INTO `bmi` (`id`, `wart_min`, `wart_max`, `informacja`) VALUES
(1, 0, 18, 'niedowaga'),
(2, 19, 25, 'waga prawidlowa'),
(3, 26, 30, 'nadwaga'),
(4, 31, 100, 'otylosc');
-- --------------------------------------------------------
--
-- Struktura tabeli dla tabeli `wynik`
--
CREATE TABLE `wynik` (
`id` int(10) UNSIGNED NOT NULL,
`bmi_id` int(10) UNSIGNED NOT NULL,
`data_pomiaru` date DEFAULT NULL,
`wynik` int(10) UNSIGNED DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;
--
-- Zrzut danych tabeli `wynik`
--
INSERT INTO `wynik` (`id`, `bmi_id`, `data_pomiaru`, `wynik`) VALUES
(1, 2, '2020-05-24', 20),
(2, 3, '2020-05-10', 27);
--
-- Indeksy dla zrzutów tabel
--
--
-- Indeksy dla tabeli `bmi`
--
ALTER TABLE `bmi`
ADD PRIMARY KEY (`id`);
--
-- Indeksy dla tabeli `wynik`
--
ALTER TABLE `wynik`
ADD PRIMARY KEY (`id`);
--
-- AUTO_INCREMENT dla zrzuconych tabel
--
--
-- AUTO_INCREMENT dla tabeli `bmi`
--
ALTER TABLE `bmi`
MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;
--
-- AUTO_INCREMENT dla tabeli `wynik`
--
ALTER TABLE `wynik`
MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=7;
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 wart_min, wart_max, informacja FROM bmi;
Zapytanie 2: INSERT INTO wynik (bmi_id, data_pomiaru, wynik) VALUES (3, '2020-05-10', 27);
Zapytanie 3: SELECT wynik, data_pomiaru, bmi.informacja FROM wynik INNER JOIN bmi ON wynik.bmi_id = bmi.id;
Zapytanie 4: SELECT wart_min, wart_max FROM bmi WHERE informacja = 'nadwaga';
Plik bmi.php
<?php
$conn = new mysqli("localhost","root","","egzamin");
?>
<!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>Twoje BMI</title>
<link rel="stylesheet" href="styl3.css">
</head>
<body>
<div id="logo">
<img src="wzor.png" alt="wzór BMI">
</div>
<div id="baner">
<h1>Oblicz swoje BMI</h1>
</div>
<main>
<table>
<tr>
<th>Interpretacja BMI</th>
<th>Wartość minimalna</th>
<th>Wartość maksymalna</th>
</tr>
<?php
// Skrypt #1
$sql = "SELECT wart_min, wart_max, informacja FROM bmi;";
$result = $conn->query($sql);
while($row = $result -> fetch_array()) {
echo "<tr>";
echo "<td>$row[2]</td>";
echo "<td>$row[0]</td>";
echo "<td>$row[1]</td>";
echo "</tr>";
}
?>
</table>
</main>
<div id="lewy">
<h2>Podaj wagę i wzrost</h2>
<form action="bmi.php" method="post">
<label for="waga">Waga:</label> <input type="number" name="waga" id="waga" min="1"><br>
<label for="wzrost">Wzrost w cm:</label> <input type="number" name="wzrost" id="wzrost" min="1"><br>
<button type="submit">Oblicz i zapamiętaj wynik</button>
</form>
<?php
// Skrypt #2
if(!empty($_POST["waga"]) && !empty($_POST["wzrost"])) {
$waga = $_POST["waga"];
$wzrost = $_POST["wzrost"];
echo "Twoja waga: $waga; Twój wzrost: $wzrost<br>";
$bmi = 10000 * ($waga / ($wzrost * $wzrost));
echo "Bmi wynosi: $bmi";
if ($bmi < 18) {
$bmi_id = 1;
}
elseif ($bmi >= 19 && $bmi <= 25) {
$bmi_id = 2;
}
elseif ($bmi >= 26 && $bmi <= 30) {
$bmi_id = 3;
}
elseif ($bmi > 30) {
$bmi_id = 4;
}
$data_pomiaru = date("Y-m-d");
$sql = "INSERT INTO wynik (bmi_id, data_pomiaru, wynik) VALUES ($bmi_id, '$data_pomiaru', $bmi);";
$result = $conn->query($sql);
}
?>
</div>
<div id="prawy">
<img src="rys1.png" alt="ćwiczenia">
</div>
<footer>
Autor: <a href="https://ee-informatyk.pl/" target="_blank" style="color: unset;text-decoration: none;">EE-Informatyk.pl</a> <a href="kwerendy.txt">Zobacz kwerendy</a>
</footer>
</body>
</html>
<?php
$conn -> close();
?>
Plik styl3.css
body {
font-family: 'Georgia';
background: #FFFAFA;
}
#logo {
background: #FF7F50;
width: 25%;
height: 100px;
float: left;
}
#baner {
background: #FF7F50;
text-align: center;
width: 75%;
height: 100px;
font-size: 130%;
float: left;
}
main {
clear: both;
background: #FF7F50;
padding: 70px;
}
#lewy {
width: 40%;
height: 400px;
float: left;
}
#prawy {
width: 60%;
height: 400px;
text-align: right;
float: left;
}
footer {
clear: both;
background: #FF7F50;
padding: 20px;
}
form {
margin: 80px;
}
table {
color: white;
text-align: center;
width: 80%;
border: 1px dotted white;
}
tr:hover {
background: #D3D3D3;
color: black;
}
Powiązana zawartość
Autorem arkusza jest CKE.GOV.PL