Rozwiązanie - Egzamin Praktyczny E.14

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

Skrypt: PHP

Baza Danych:

Przykładowe rozwiązanie
Rozwiązanie - Arkusz praktyczny E.14-08-19.01 - Styczeń 2019 - Wersja #08
Wymagane zdjęcia
Egzamin E.14-08-19.01 - dodatkowe zdjęcia - sprzet.png
sprzet.png
Egzamin E.14-08-19.01 - dodatkowe zdjęcia - zad2.png
zad2.png
Wyniki działań na bazie danych
Egzamin E.14-08-19.01 - Operacje na bazie danych - import.png
import.png
Egzamin E.14-08-19.01 - Operacje na bazie danych - import.png
kw1.jpg
Egzamin E.14-08-19.01 - Operacje na bazie danych - import.png
kw2.jpg
Egzamin E.14-08-19.01 - Operacje na bazie danych - import.png
kw3.jpg
Egzamin E.14-08-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: 09 Mar 2023, 20:47
-- 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,
  `priorytet` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;

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

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

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

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

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

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

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

--
-- 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.dostepnosc, podzespoly.cena FROM podzespoly, producenci WHERE podzespoly.producenci_id = producenci.id AND producenci.nazwa = 'ADATA';
Zapytanie 2: SELECT podzespoly.id, podzespoly.opis FROM podzespoly, producenci WHERE podzespoly.producenci_id = producenci.id AND dostepnosc = 0 AND producenci.nazwa IN ('Intel', 'AMD');
Zapytanie 3: SELECT podzespoly.opis, podzespoly.cena, producenci.nazwa FROM podzespoly, producenci WHERE podzespoly.producenci_id = producenci.id;
Zapytanie 4: ALTER TABLE producenci ADD COLUMN (priorytet INT);
Plik hurtownia.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 komputerowa</title>
        <link rel="stylesheet" href="styl2.css">
    </head>
    <body>
        <div id="lista">
            <ul>
                <li>Producenci</li>
                <ol>
                    <li>Intel</li>
                    <li>AMD</li>
                    <li>Motorola</li>
                    <li>Corsair</li>
                    <li>ADATA</li>
                    <li>WD</li>
                    <li>Kingstone</li>
                    <li>Patriot</li>
                    <li>Asus</li>
                </ol>
            </ul>
        </div>

        <div id="formularz">
            <h1>Dystrybucja sprzętu komputerowego</h1>
            <form action="hurtownia.php" method="post">
                Wybierz producenta<br>
                <input type="number" name="id" id="id"> <button type="submit">WYŚWIETL</button>
            </form>
        </div>

        <div id="logo">
            <img src="sprzet.png" alt="Sprzedajemy komputery">
        </div>

        <div id="glowny">
            <h2>Podzespoły wybranego producenta</h2>
            <?php
                // Skrypt #1
                if(isset($_POST["id"])) {
                    $id = $_POST["id"];

                    $conn = new mysqli("localhost","root","","sklep");

                    $sql = "SELECT podzespoly.nazwa, podzespoly.dostepnosc, podzespoly.cena FROM podzespoly, producenci WHERE podzespoly.producenci_id = producenci.id AND producenci_id = $id;";
                    $result = $conn->query($sql);
    
                    while($row = $result -> fetch_array()) {
                        if($row[1] > 0) {
                            $dostepnosc = "DOSTĘPNY";
                        }
                        else {
                            $dostepnosc = "NIEDOSTĘPNY";
                        }
                        echo "<p>".$row[0]." Cena: ".$row[2]." ".$dostepnosc."</p>";
                    }
    
                    $conn -> close();
                }
                else {
                    echo "<p>Wybierz producenta</p>";
                }
            ?>
        </div>

        <footer>
            <h4>Zapraszamy od poniedziałku do soboty w godzinach 7<sup>30</sup>-16<sup>30</sup></h4>
            Strony partnerów: <a href="http://adata.pl/" target="_blank">ADATA</a> <a href="http://patrio.pl/" target="_blank">Patriot</a> <a href="mailto:[email protected]">Napisz</a><br><br>
            <p>Stronę wykonał: <a href="https://ee-informatyk.pl/" target="_blank">EE-Informatyk.pl</a></p>
        </footer>
    </body>
</html>
Plik styl2.css
body {
    font-family: Helvetica;
}

#lista,
#logo {
    background: #6FACE3;
    color: blue;
    height: 300px;
    width: 30%;
    float: left;
}

#formularz {
    background: #6FACE3;
    color: blue;
    height: 300px;
    width: 40%;
    float: left;
}

#glowny {
    background: #4C93D2;
    height: 350px;
    padding: 20px;
    text-align: center;
    clear: both;
}

footer {
    background: #2D77BA;
    color: white;
    height: 170px;
    padding: 15px;
}

a {
    background: lightskyblue;
    margin: 5px;
    padding: 10px;
}

a:visited {
    background: lightsteelblue;
}

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ę