Rozwiązanie - Egzamin Praktyczny EE.09
Arkusz EE.09-04-21.01-SG - Styczeń 2021 - Wersja #04
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, 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: `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, 1, '2020-05-20', 15);
--
-- 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=3;
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: INSERT INTO wynik (bmi_id, data_pomiaru, wynik) VALUES (1, "2020-05-20", 15);
Zapytanie 2: SELECT id, informacja, wart_min FROM bmi;
Zapytanie 3: SELECT wynik, bmi.informacja FROM wynik INNER JOIN bmi ON bmi.id = wynik.bmi_id;
Zapytanie 4: SELECT wart_min, wart_max FROM bmi WHERE informacja = 'niedowaga';
Plik waga.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>Twój wskaźnmik BMI</title>
<link rel="stylesheet" href="styl4.css">
</head>
<body>
<div id="baner">
<h2>Oblicz wskaźnik BMI</h2>
</div>
<div id="logo">
<img src="wzor.png" alt="Liczymy BMI">
</div>
<div id="lewy">
<img src="rys1.png" alt="zrzuć kalorie!">
</div>
<div id="prawy">
<h1>Podaj dane</h1>
<form action="waga.php" method="post">
<label for="waga">Waga:</label> <input type="number" name="waga" id="waga"><br>
<label for="wzrost">Wzrost [cm]:</label> <input type="number" name="wzrost" id="wzrost"><br>
<button type="submit">Licz BMI i zapisz wynik</button>
</form>
<?php
// Skrypt #1
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>
<main>
<table>
<tr>
<th>lp.</th>
<th>Interpretacja</th>
<th>zaczyna się od...</th>
</tr>
<?php
// Skrypt #2
$sql = "SELECT id, informacja, wart_min FROM bmi;";
$result = $conn->query($sql);
while($row = $result -> fetch_array()) {
echo "<tr>";
echo "<td>$row[0]</td>";
echo "<td>$row[1]</td>";
echo "<td>$row[2]</td>";
echo "</tr>";
}
?>
</table>
</main>
<footer>
Autor: <a href="https://ee-informatyk.pl/" target="_blank" style="color: unset;text-decoration: none;">EE-Informatyk.pl</a> <a href="kw2.jpg">Wynik działania kwerendy 2</a>
</footer>
</body>
</html>
<?php
$conn -> close();
?>
Plik styl4.css
body {
font-family: 'Helvetica';
background: #FFE4B5;
}
#baner {
background: #4B0082;
color: white;
text-align: center;
width: 75%;
height: 100px;
font-size: 150%;
float: left;
}
#logo {
width: 25%;
height: 100px;
float: left;
}
#lewy {
clear: both;
width: 45%;
height: 300px;
float: left;
}
#prawy {
width: 55%;
height: 300px;
text-align: center;
float: left;
}
main {
clear: both;
background: #4B0082;
padding: 60px;
}
footer {
background: #4B0082;
color: white;
padding: 40px;
}
form {
margin: 40px;
}
table {
color: white;
text-align: center;
width: 90%;
border: 1px dashed yellow;
}
tr:hover {
background: #9370DB;
color: yellow;
}
Powiązana zawartość
Autorem arkusza jest CKE.GOV.PL