Rozwiązanie - Egzamin Praktyczny E.14

Arkusz E.14-01-16.05 - Maj 2016 - Wersja #01

Skrypt: PHP

Baza Danych:

Przykładowe rozwiązanie
Rozwiązanie - Arkusz praktyczny E.14-01-16.05 - Maj 2016 - Wersja #01
Wyniki działań na bazie danych
Egzamin E.14-01-16.05 - Operacje na bazie danych - import.png
import.png
Egzamin E.14-01-16.05 - Operacje na bazie danych - import.png
zapytanie1.png
Egzamin E.14-01-16.05 - Operacje na bazie danych - import.png
zapytanie2.png
Egzamin E.14-01-16.05 - Operacje na bazie danych - import.png
zapytanie3.png
Egzamin E.14-01-16.05 - Operacje na bazie danych - import.png
zapytanie4.png
Plik szkola.sql
-- phpMyAdmin SQL Dump
-- version 5.2.0
-- https://www.phpmyadmin.net/
--
-- Host: 127.0.0.1
-- Czas generowania: 13 Mar 2023, 00:03
-- 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: `szkola`
--

-- --------------------------------------------------------

--
-- Struktura tabeli dla tabeli `ocena`
--

CREATE TABLE `ocena` (
  `id` int(10) UNSIGNED NOT NULL,
  `przedmiot_id` int(10) UNSIGNED NOT NULL,
  `uczen_id` int(10) UNSIGNED NOT NULL,
  `ocena` int(10) UNSIGNED DEFAULT NULL,
  `dataWystawienia` date DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

--
-- Zrzut danych tabeli `ocena`
--

INSERT INTO `ocena` (`id`, `przedmiot_id`, `uczen_id`, `ocena`, `dataWystawienia`) VALUES
(1, 1, 2, 5, '2015-09-03'),
(2, 1, 2, 6, '2015-09-03'),
(3, 1, 1, 5, '2015-09-03'),
(4, 1, 1, 6, '2015-09-03'),
(5, 1, 2, 1, '2015-09-03'),
(6, 1, 2, 1, '2015-09-03'),
(7, 1, 2, 4, '2015-09-03'),
(8, 4, 1, 3, '2015-09-10'),
(9, 4, 1, 4, '2015-09-15'),
(10, 4, 1, 3, '2015-09-10'),
(11, 4, 1, 4, '2015-09-15'),
(12, 4, 1, 5, '2015-09-10'),
(13, 4, 1, 5, '2015-09-15'),
(14, 4, 2, 3, '2015-09-22'),
(15, 4, 2, 1, '2015-09-15'),
(16, 4, 2, 3, '2015-09-22'),
(17, 4, 2, 1, '2015-09-15');

-- --------------------------------------------------------

--
-- Struktura tabeli dla tabeli `uczen`
--

CREATE TABLE `uczen` (
  `id` int(10) UNSIGNED NOT NULL,
  `imie` text DEFAULT NULL,
  `nazwisko` text DEFAULT NULL,
  `PESEL` text DEFAULT NULL,
  `klasa` text DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

--
-- Zrzut danych tabeli `uczen`
--

INSERT INTO `uczen` (`id`, `imie`, `nazwisko`, `PESEL`, `klasa`) VALUES
(1, 'Ewa', 'Kowalska', '00000000001', '1a'),
(2, 'Jan', 'Kowalski', '00000000002', '1a');

--
-- Indeksy dla zrzutów tabel
--

--
-- Indeksy dla tabeli `ocena`
--
ALTER TABLE `ocena`
  ADD PRIMARY KEY (`id`);

--
-- Indeksy dla tabeli `uczen`
--
ALTER TABLE `uczen`
  ADD PRIMARY KEY (`id`);

--
-- AUTO_INCREMENT dla zrzuconych tabel
--

--
-- AUTO_INCREMENT dla tabeli `ocena`
--
ALTER TABLE `ocena`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=18;

--
-- AUTO_INCREMENT dla tabeli `uczen`
--
ALTER TABLE `uczen`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;
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 imie, nazwisko FROM uczen;
Zapytanie 2: SELECT imie, nazwisko FROM uczen WHERE id = 2;
Zapytanie 3: SELECT ocena FROM ocena WHERE przedmiot_id = 1 AND uczen_id = 2;
Zapytanie 4: SELECT AVG(ocena) FROM ocena WHERE przedmiot_id = 1 AND uczen_id = 2;
Plik polski.php
<?php
    $conn = new mysqli("localhost","root","","szkola");
?>

<!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>Szkoła Ponadgimnazjalna</title>
        <link rel="stylesheet" href="styl.css">
    </head>
    <body>
        <header>
            <h1>Oceny uczniów: język polski</h1>
        </header>

        <div id="lewy">
            <h2>Lista uczniów: </h2>
            <ol>
                <?php
                    // Skrypt #1
                    $sql = "SELECT imie, nazwisko FROM uczen;";
                    $result = $conn->query($sql);

                    while($row = $result -> fetch_array()) {
                        echo "<li>".$row["imie"]." ".$row["nazwisko"]."</li>";
                    }
                ?>
            </ol>
        </div>

        <div id="prawy">
            <?php
                // Skrypt #2
                $sql = "SELECT imie, nazwisko FROM uczen WHERE id = 2;";
                $result = $conn->query($sql);

                while($row = $result -> fetch_array()) {
                    echo "<h2>Uczeń: ".$row["imie"]." ".$row["nazwisko"]."</h2>";
                }

                $sql = "SELECT AVG(ocena) FROM ocena WHERE przedmiot_id = 1 AND uczen_id = 2;";
                $result = $conn->query($sql);

                while($row = $result -> fetch_array()) {
                    echo "<p>Średnia ocen z języka polskiego: ".$row[0]."</p>";
                }
            ?>
        </div>

        <footer>
            <h3>Zespół Szkół Ponadgimnazjalnych</h3>
            <p>Stronę opracował: <a href="https://ee-informatyk.pl/" target="_blank" style="color: unset;text-decoration: none;">EE-Informatyk.pl</a></p>
        </footer>
    </body>
</html>

<?php
    $conn -> close();
?>
Plik styl.css
header {
    background: #3A7AD9;
    text-align: center;
    height: 50px;
}

#lewy {
    float: left;
    background: #5D93E2;
    height: 400px;
    width: 30%;
}

#prawy {
    float: left;
    background: #88B0EC;
    height: 400px;
    width: 70%;
}

footer {
    clear: both;
    background: #3A7AD9;
    text-align: right;
}

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ę