Rozwiązanie - Egzamin Praktyczny E.14

Arkusz E.14-07-19.01 - Styczeń 2019 - Wersja #07

Skrypt: PHP

Baza Danych:

Przykładowe rozwiązanie
Rozwiązanie - Arkusz praktyczny E.14-07-19.01 - Styczeń 2019 - Wersja #07
Wymagane zdjęcia
Egzamin E.14-07-19.01 - dodatkowe zdjęcia - komputer.png
komputer.png
Egzamin E.14-07-19.01 - dodatkowe zdjęcia - zad1.png
zad1.png
Wyniki działań na bazie danych
Egzamin E.14-07-19.01 - Operacje na bazie danych - import.png
import.png
Egzamin E.14-07-19.01 - Operacje na bazie danych - import.png
kw1.jpg
Egzamin E.14-07-19.01 - Operacje na bazie danych - import.png
kw2.jpg
Egzamin E.14-07-19.01 - Operacje na bazie danych - import.png
kw3.jpg
Egzamin E.14-07-19.01 - Operacje na bazie danych - import.png
kw4.jpg
Plik sklep.sql
-- phpMyAdmin SQL Dump
-- version 5.2.0
-- https://www.phpmyadmin.net/
--
-- Host: 127.0.0.1
-- Czas generowania: 10 Mar 2023, 10: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: `sklep`
--

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

--
-- Struktura tabeli dla tabeli `podzespoly`
--

CREATE TABLE `podzespoly` (
  `id` int(10) UNSIGNED NOT NULL,
  `typy_id` int(10) UNSIGNED NOT NULL,
  `producenci_id` int(10) UNSIGNED NOT NULL,
  `nazwa` text DEFAULT NULL,
  `opis` text DEFAULT NULL,
  `dostepnosc` tinyint(1) DEFAULT NULL,
  `cena` float NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;

--
-- Zrzut danych tabeli `podzespoly`
--

INSERT INTO `podzespoly` (`id`, `typy_id`, `producenci_id`, `nazwa`, `opis`, `dostepnosc`, `cena`) VALUES
(1, 1, 1, 'Core i5-7640X', 'Procesor Intel Core i5-7640X 4,2 GHz LGA 2066 Box', 1, 1000),
(2, 1, 1, 'Core i3-6300', 'Procesor Intel Core i3-6300 3,8 GHz 4MB cache s. 1151 Box', 1, 575),
(3, 1, 1, 'Core i7-6700K', 'Procesor Intel Core i7-6700K 4,0 GHz 8MB cache s. 1151 Box', 0, 1400),
(4, 1, 2, 'X6 FX-6350', 'Procesor AMD X6 FX-6350 s.AM3+ BOX', 1, 380),
(5, 2, 7, 'Savage', 'RAM HyperX 16GB (2x8GB) DDR3-1866 Dual Chanel Kit Non-ECC CL9 XMP Savage Series HX318C9SRK2/16', 1, 535),
(6, 2, 7, 'Savage', 'HyperX 4GB DDR3-1600 Non-ECC CL9 XMP Savage Series HX316C9SR/4', 0, 150),
(7, 2, 8, 'Signature', 'RAM Patriot Signature DDR3 8GB (2x4GB) 1600 CL9 PSD38G1600KH', 0, 250),
(8, 5, 9, 'GTX 1060', 'Karta graficzna Asus DUAL NVIDIA GeForce GTX 1060 3072MB GDDR5 192b PCI-E x16 v. 3.0 (1594MHz/8008MHz) OC Edition', 1, 1189),
(9, 5, 9, 'GeForce 210', 'Karta graficzna ASUS GeForce 210 1024MB 64bit PCI-E', 0, 145),
(10, 6, 6, 'WD Black', 'Dysk WD Black WD1003FZEX 1TB sATA III 64MB', 0, 315),
(11, 6, 6, 'WD Blue', 'Dysk WD Blue WD10EZEX 1TB sATA III 64MB', 1, 195),
(12, 6, 5, 'AHD650-1TU3-CBK', 'Dysk USB ADATA AHD650-1TU3-CBK 1TB 2.5\' HD650 USB 3.0 Czarny', 1, 210);

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

--
-- Struktura tabeli dla tabeli `producenci`
--

CREATE TABLE `producenci` (
  `id` int(10) UNSIGNED NOT NULL,
  `nazwa` text DEFAULT NULL,
  `opis` text DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;

--
-- Zrzut danych tabeli `producenci`
--

INSERT INTO `producenci` (`id`, `nazwa`, `opis`) VALUES
(1, 'Intel', NULL),
(2, 'AMD', NULL),
(5, 'ADATA', NULL),
(6, 'WD', NULL),
(7, 'Kingstone', NULL),
(8, 'Patriot', NULL),
(9, 'ASUS', NULL);

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

--
-- Struktura tabeli dla tabeli `typy`
--

CREATE TABLE `typy` (
  `id` int(10) UNSIGNED NOT NULL,
  `kategoria` text DEFAULT NULL,
  `opis` text DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;

--
-- Zrzut danych tabeli `typy`
--

INSERT INTO `typy` (`id`, `kategoria`, `opis`) VALUES
(1, 'Procesor', NULL),
(2, 'RAM', NULL),
(5, 'karta graficzna', NULL),
(6, 'HDD', NULL);

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

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

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

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

--
-- AUTO_INCREMENT dla zrzuconych tabel
--

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

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

--
-- AUTO_INCREMENT dla tabeli `typy`
--
ALTER TABLE `typy`
  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 podzespoly.nazwa, podzespoly.opis, podzespoly.cena FROM podzespoly, typy WHERE podzespoly.typy_id = typy.id AND typy.kategoria = 'procesor';
Zapytanie 2: SELECT id, nazwa FROM podzespoly WHERE dostepnosc = 1 AND cena < 400;
Zapytanie 3: SELECT podzespoly.nazwa, typy.kategoria FROM podzespoly, typy WHERE podzespoly.typy_id = typy.id;
Zapytanie 4: ALTER TABLE typy ADD COLUMN (opis TEXT);
Plik sklep.php
<!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>Hurtownia</title>
        <link rel="stylesheet" href="styl1.css">
    </head>
    <body>
        <div id="logo">
            <img src="komputer.png" alt="hurtownia komputerowa">
        </div>

        <div id="lista">
            <ul>
                <li>Sprzęt</li>
                <ol>
                    <li>Procesory</li>
                    <li>Pamięci RAM</li>
                    <li>Monitory</li>
                    <li>Obudowy</li>
                    <li>Karty graficzne</li>
                    <li>Dyski twarde</li>
                </ol>
                <li>Oprogramowanie</li>
            </ul>
        </div>

        <div id="formularz">
            <h2>Hurtownia komputerowa</h2>
            <form action="sklep.php" method="post">
                Wybierz kategorię sprzętu<br>
                <input type="number" name="kategoria" id="kategoria"> <button type="submit">SPRAWDŹ</button>
            </form>
        </div>

        <div id="glowny">
            <h1>Podzespoły we wskazanej kategorii</h1>
            <?php
                // Skrypt #1
                if(isset($_POST["kategoria"])) {
                    $id = $_POST["kategoria"];
                    $conn = new mysqli("localhost","root","","sklep");

                    $sql = "SELECT podzespoly.nazwa, podzespoly.opis, podzespoly.cena FROM podzespoly, typy WHERE podzespoly.typy_id = typy.id AND typy.id = '$id';";
                    $result = $conn->query($sql);
    
                    while($row = $result -> fetch_array()) {
                        echo "<p>".$row[0]." ".$row[1]." Cena: ".$row[2]."</p>";
                    }
    
                    $conn -> close();
                }
                else {
                    echo "Wybierz poprawną kategorię sprzętu";
                }
            ?>
        </div>

        <footer>
            <h3>Hurtownia działa od poniedziałku do soboty w godzinach 7<sup>00</sup>-16<sup>00</sup></h3>
            <a href="mailto:[email protected]">Napisz do nas</a> Partnerzy: <a href="http://intel.pl" target="_blank">Intel</a> <a href="http://amd.pl" target="_blank">AMD</a>
            <p>Stronę wykonał: <a href="https://ee-informatyk.pl/" target="_blank" style="background: transparent;margin:unset;padding:unset;border: none;color: #000;text-decoration: none;">EE-Informatyk.pl</a></p>
        </footer>
    </body>
</html>
Plik styl1.css
body {
    font-family: Verdana;
}

#logo {
    background: #FF9F79;
    height: 270px;
    width: 30%;
    float: left;
}

#lista,
#formularz {
    background: #FF9F79;
    color: green;
    height: 270px;
    width: 35%;
    float: left;
}

#glowny {
    background: #80CDAC;
    height: 400px;
    padding: 30px;
    text-align: center;
    clear: both;
}

footer {
    background: #188256;
    height: 150px;
    padding: 10px;
}

a {
    background: green;
    margin: 10px;
    padding: 10px;
    border: 2px solid orange;
}

a:visited {
    background: violet;
}

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ę