Rozwiązanie - Egzamin Praktyczny E.14

Arkusz E.14-01-18.01 - Styczeń 2018 - Wersja #01

Skrypt: PHP

Baza Danych:

Przykładowe rozwiązanie
Rozwiązanie - Arkusz praktyczny E.14-01-18.01 - Styczeń 2018 - Wersja #01
Wymagane zdjęcia
Egzamin E.14-01-18.01 - dodatkowe zdjęcia - ksiazki.jpg
ksiazki.jpg
Wyniki działań na bazie danych
Egzamin E.14-01-18.01 - Operacje na bazie danych - import.jpg
import.jpg
Egzamin E.14-01-18.01 - Operacje na bazie danych - import.jpg
kw1.jpeg
Egzamin E.14-01-18.01 - Operacje na bazie danych - import.jpg
kw2.jpeg
Egzamin E.14-01-18.01 - Operacje na bazie danych - import.jpg
kw3.jpeg
Egzamin E.14-01-18.01 - Operacje na bazie danych - import.jpg
kw4.jpeg
Plik uzytkownik.sql
-- phpMyAdmin SQL Dump
-- version 5.2.0
-- https://www.phpmyadmin.net/
--
-- Host: 127.0.0.1
-- Czas generowania: 07 Mar 2023, 18:21
-- Wersja serwera: 10.4.27-MariaDB
-- Wersja PHP: 8.1.12

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: `ogloszenia`
--

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

--
-- Struktura tabeli dla tabeli `uzytkownik`
--

CREATE TABLE `uzytkownik` (
  `id` int(10) UNSIGNED NOT NULL,
  `imie` text DEFAULT NULL,
  `nazwisko` text DEFAULT NULL,
  `telefon` text DEFAULT NULL,
  `email` text DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;

--
-- Zrzut danych tabeli `uzytkownik`
--

INSERT INTO `uzytkownik` (`id`, `imie`, `nazwisko`, `telefon`, `email`) VALUES
(1, 'Anna', 'Kowalska', '601601601', '[email protected]'),
(2, 'Jan', 'Nowak', '608608608', '[email protected]');

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

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

--
-- AUTO_INCREMENT dla zrzuconych tabel
--

--
-- AUTO_INCREMENT dla tabeli `uzytkownik`
--
ALTER TABLE `uzytkownik`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;
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 id, tytul, tresc FROM ogloszenie WHERE kategoria = 1;
Zapytanie 2: SELECT telefon FROM uzytkownik, ogloszenie WHERE uzytkownik.id = ogloszenie.uzytkownik_id AND ogloszenie.id = 1;
Zapytanie 3: CREATE USER moderator IDENTIFIED BY 'qwerty';
Zapytanie 4: GRANT DELETE, SELECT ON ogloszenie.* TO moderator;
Plik ogloszenia.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>Portal ogłoszeniowy</title>
        <link rel="stylesheet" href="styl1.css">
    </head>
    <body>
        <header>
            <h1>Portal Ogłoszeniowy</h1>
        </header>

        <div id="lewy">
            <h2>Kategorie ogłoszeń</h2>
            <ol>
                <li>Książki</li>
                <li>Muzyka</li>
                <li>Filmy</li>
            </ol>
            <img src="ksiazki.jpg" alt="Kupię / sprzedam książkę">
            <table>
                <tr>
                    <td>Liczba ogłoszeń</td>
                    <td>Cena ogłoszenia</td>
                    <td>Bonus</td>
                </tr>
                <tr>
                    <td>1 - 10</td>
                    <td>1 PLN</td>
                    <td rowspan="3">Subskrypcja newstellera to upust 0,20 PLN na ogłoszenie</td>
                </tr>
                <tr>
                    <td>11 - 50</td>
                    <td>0,80 PLN</td>
                </tr>
                <tr>
                    <td>51 i więcej</td>
                    <td>0,60 PLN</td>
                </tr>
            </table>
        </div>

        <div id="prawy">
            <h2>Ogłoszenia kategorii książki</h2>
            <?php
                // Skrypt #1
                $conn = new mysqli("localhost","root","","ogloszenia");

                $sql1 = "SELECT id, tytul, tresc FROM ogloszenie WHERE kategoria = 1;";
                $sql2 = "SELECT telefon FROM uzytkownik, ogloszenie WHERE uzytkownik.id = ogloszenie.uzytkownik_id";
                $result1 = $conn->query($sql1);
                $result2 = $conn->query($sql2);
                
                while($row1 = $result1 -> fetch_array()) {
                    $row2 = $result2 -> fetch_array();
                    echo "<b>".$row1["id"]." ".$row1["tytul"]."</b><br><br>".$row1["tresc"]."<br><br>";
                    echo "telefon kontaktowy: ".$row2["telefon"]."<br>";
                    echo "<br>";
                }
                
                $conn -> close();
            ?>
        </div>

        <footer>
            Portal ogłoszeniowy opracował: <a href="https://ee-informatyk.pl/" target="_blank" style="color: #fff;">EE-Informatyk.pl</a>
        </footer>
    </body>
</html>
Plik styl1.css
header {
    background: #40271A;
    color: white;
    font-family: Tahoma;
    text-align: center;
    height: 80px;
}

#lewy {
    background: #DBB29C;
    width: 40%;
    height: 700px;
    float: left;
}

#prawy {
    background: #FFE3D4;
    width: 60%;
    height: 700px;
    float: left;
}

footer {
    background: #40271A;
    color: white;
    text-align: right;
    clear: both;
}

table,td {
    border: 1px dashed brown;
    width: 500px;
    margin: 10px;
    text-align: center;
}

img {
    padding: 30px;
}

ol {
    list-style: upper-roman;
}

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ę