Rozwiązanie - Egzamin Praktyczny E.14

Arkusz E.14-01-21.06-SG - Czerwiec 2021 - Wersja #01

Skrypt: PHP

Baza Danych:

Przykładowe rozwiązanie
Rozwiązanie - Arkusz praktyczny E.14-01-21.06-SG - Czerwiec 2021 - Wersja #01
Wymagane zdjęcia
Egzamin E.14-01-21.06-SG - dodatkowe zdjęcia - promocja.png
promocja.png
Egzamin E.14-01-21.06-SG - dodatkowe zdjęcia - promocja2.png
promocja2.png
Wyniki działań na bazie danych
Egzamin E.14-01-21.06-SG - Operacje na bazie danych - baza.jpeg
baza.jpeg
Egzamin E.14-01-21.06-SG - Operacje na bazie danych - baza.jpeg
kw1.jpeg
Egzamin E.14-01-21.06-SG - Operacje na bazie danych - baza.jpeg
kw2.jpeg
Egzamin E.14-01-21.06-SG - Operacje na bazie danych - baza.jpeg
kw3.jpeg
Egzamin E.14-01-21.06-SG - Operacje na bazie danych - baza.jpeg
kw4.jpeg
Plik sklep.sql
-- phpMyAdmin SQL Dump
-- version 5.2.0
-- https://www.phpmyadmin.net/
--
-- Host: 127.0.0.1
-- Czas generowania: 13 Mar 2023, 16:53
-- 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: `sklep`
--

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

--
-- Struktura tabeli dla tabeli `dostawcy`
--

CREATE TABLE `dostawcy` (
  `id` int(11) NOT NULL,
  `nazwa` varchar(50) NOT NULL,
  `adres` varchar(50) NOT NULL,
  `e_mail` text DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;

--
-- Zrzut danych tabeli `dostawcy`
--

INSERT INTO `dostawcy` (`id`, `nazwa`, `adres`, `e_mail`) VALUES
(1, 'Papiernictwo', 'ul. Boczna 12, 23-355 Bukowina', NULL),
(2, 'Art. szkolne', 'ul. Dworcowa 20, 34-565 Warszawa', NULL),
(3, 'Wszystko dla ucznia', 'ul. Towarowa 35, 88-123 Zakopane', NULL);

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

--
-- Struktura tabeli dla tabeli `towary`
--

CREATE TABLE `towary` (
  `id` int(11) NOT NULL,
  `nazwa` varchar(20) NOT NULL,
  `cena` float NOT NULL,
  `promocja` tinyint(1) NOT NULL,
  `idDostawcy` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;

--
-- Zrzut danych tabeli `towary`
--

INSERT INTO `towary` (`id`, `nazwa`, `cena`, `promocja`, `idDostawcy`) VALUES
(1, 'Zeszyt 60 kartek', 4.5, 0, 1),
(2, 'Zeszyt 32 kartki', 1.2, 0, 2),
(3, 'Cyrkiel', 12.4, 0, 1),
(4, 'Linijka 30 cm', 7.2, 0, 3),
(5, 'Ekierka', 5.5, 0, 3),
(6, 'Linijka 50 cm', 8.2, 0, 2),
(7, 'Gumka do mazania', 3.2, 1, 1),
(8, 'Cienkopis', 2.5, 1, 2),
(9, 'Pisaki 60 szt.', 55, 1, 2),
(10, 'Markery 4 szt.', 22.4, 1, 1);

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

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

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

--
-- AUTO_INCREMENT dla zrzuconych tabel
--

--
-- AUTO_INCREMENT dla tabeli `dostawcy`
--
ALTER TABLE `dostawcy`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;

--
-- AUTO_INCREMENT dla tabeli `towary`
--
ALTER TABLE `towary`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=11;
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 nazwa FROM towary WHERE promocja = 1;
Zapytanie 2: SELECT cena FROM towary WHERE nazwa = 'Cienkopis';
Zapytanie 3: SELECT dostawcy.nazwa, COUNT(towary.idDostawcy) AS ilosc FROM dostawcy INNER JOIN towary ON dostawcy.id = towary.idDostawcy GROUP BY dostawcy.nazwa;
Zapytanie 4: ALTER TABLE dostawcy ADD e_mail TEXT;
Plik index.php
<?php
    $conn = new mysqli("localhost","root","","sklep");
?>

<!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>Artykuły papiernicze</title>
        <link rel="stylesheet" href="styl.css">
    </head>
    <body>
        <header>
            <h1>W naszym sklepie internetowym kupisz najtaniej</h1>
        </header>

        <div id="lewy">
            <h2>Kontakt</h2>
            <p>telefon: 444333222<br>e-mail: <a href="mailto:[email protected]">[email protected]</a></p>
            <img src="promocja2.png" alt="promocja">
        </div>

        <div id="srodkowy">
            <h2>Promocja 10% obejmuje artykuły:</h2>
            <ul>
                <?php
                    // Skrypt #1
                    $sql = "SELECT nazwa FROM towary WHERE promocja = 1;";
                    $result = $conn->query($sql);

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

        <div id="prawy">
            <h2>Cena wybranego artykułu w promocji</h2>
            <form action="index.php" method="post">
                <select name="lista" id="lista">
                    <option value="Gumka do mazania">Gumka do mazania</option>
                    <option value="Cienkopis">Cienkopis</option>
                    <option value="Pisaki 60 szt.">Pisaki 60 szt.</option>
                    <option value="Markery 4 szt.">Markery 4 szt.</option>
                </select>
                <button type="submit">WYBIERZ</button>
            </form>
            <?php
                // Skrypt #2
                if(isset($_POST["lista"])) {
                    $lista = $_POST["lista"];
                    $sql = "SELECT cena FROM towary WHERE nazwa = '$lista';";
                    $result = $conn->query($sql);

                    while($row = $result -> fetch_array()) {
                        $cena = $row["cena"];
                        $cena = $cena * 0.9;
                        $cena = number_format($cena, 2);

                        echo "$lista kosztuje po przecenie $cena";
                    }
                }
            ?>
        </div>

        <footer>
            <h3>Autor strony <a href="https://ee-informatyk.pl/" target="_blank" style="color: unset;text-decoration: none;">EE-Informatyk.pl</a></h3>
        </footer>
    </body>
</html>

<?php
    $conn -> close();
?>
Plik styl.css
header {
    background: #B284BE;
    height: 60px;
    font-size: 120%;
    text-align: center;
}

#lewy {
    background: #BCE27F;
    height: 600px;
    width: 25%;
    font-size: 120%;
    float: left;
}

#srodkowy {
    background: #BCE27F;
    height: 600px;
    width: 50%;
    text-align: center;
    float: left;
}

#prawy {
    background: #BCE27F;
    height: 600px;
    width: 25%;
    font-size: 120%;
    text-align: center;
    float: left;
}

footer {
    background: #B284BE;
    height: 60px;
    text-align: left;
    padding: 5px;
    clear: both;
}

li {
    padding-top: 20px;
    background: #B284BE;
    list-style: inside;
}

img,h2 {
    margin-top: 50px;
}

form {
    margin-bottom: 100px;
}

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ę