Rozwiązanie - Egzamin Praktyczny EE.09

Arkusz EE.09-03-21.01-SG - Styczeń 2021 - Wersja #03

Skrypt: PHP

Baza Danych:

Przykładowe rozwiązanie
Rozwiązanie - Arkusz praktyczny EE.09-03-21.01-SG - Styczeń 2021 - Wersja #03
Wymagane zdjęcia
Egzamin EE.09-03-21.01-SG - dodatkowe zdjęcia - rys1.png
rys1.png
Egzamin EE.09-03-21.01-SG - dodatkowe zdjęcia - wzor.png
wzor.png
Wyniki działań na bazie danych
Egzamin EE.09-03-21.01-SG - Operacje na bazie danych - import.png
import.png
Egzamin EE.09-03-21.01-SG - Operacje na bazie danych - import.png
kw1.jpg
Egzamin EE.09-03-21.01-SG - Operacje na bazie danych - import.png
kw2.jpg
Egzamin EE.09-03-21.01-SG - Operacje na bazie danych - import.png
kw3.jpg
Egzamin EE.09-03-21.01-SG - Operacje na bazie danych - import.png
kw4.jpg
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;
}

Strona używa plików cookies

Serwis wykorzystuje ciasteczka głównie w celu prowadzenia systemu formularzy oraz zbierania danych dotyczących ruchu na stronie.

Więcej informacji znajdziesz w Polityce Prywatności

Akceptuję