This commit is contained in:
3p01
2025-12-17 09:30:01 +01:00
parent f17e09aa34
commit 3dcf005384
13 changed files with 335 additions and 0 deletions

View File

@@ -0,0 +1,149 @@
-- phpMyAdmin SQL Dump
-- version 5.1.1
-- https://www.phpmyadmin.net/
--
-- Host: 127.0.0.1
-- Czas generowania: 05 Maj 2022, 11:02
-- Wersja serwera: 10.4.22-MariaDB
-- Wersja PHP: 8.1.2
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: `rzeki`
--
-- --------------------------------------------------------
--
-- Struktura tabeli dla tabeli `pomiary`
--
CREATE TABLE `pomiary` (
`id` int(10) UNSIGNED NOT NULL,
`wodowskazy_id` int(10) UNSIGNED NOT NULL,
`dataPomiaru` date DEFAULT NULL,
`stanWody` int(10) UNSIGNED DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
--
-- Zrzut danych tabeli `pomiary`
--
INSERT INTO `pomiary` (`id`, `wodowskazy_id`, `dataPomiaru`, `stanWody`) VALUES
(1, 1, '2022-05-05', 100),
(2, 1, '2022-05-06', 120),
(3, 2, '2022-05-05', 240),
(4, 2, '2022-05-06', 240),
(5, 3, '2022-05-05', 300),
(6, 3, '2022-05-06', 300),
(7, 4, '2022-05-05', 120),
(8, 4, '2022-05-06', 130),
(9, 5, '2022-05-05', 100),
(10, 5, '2022-05-06', 100),
(11, 6, '2022-05-05', 200),
(12, 6, '2022-05-06', 250),
(13, 7, '2022-05-05', 90),
(14, 7, '2022-05-06', 93),
(15, 8, '2022-05-05', 100),
(16, 8, '2022-05-06', 60),
(17, 9, '2022-05-05', 170),
(18, 9, '2022-05-06', 200),
(19, 10, '2022-05-05', 100),
(20, 10, '2022-05-06', 100),
(21, 11, '2022-05-05', 200),
(22, 11, '2022-05-06', 250),
(23, 12, '2022-05-05', 340),
(24, 12, '2022-05-06', 360),
(25, 13, '2022-05-05', 200),
(26, 13, '2022-05-06', 230),
(27, 14, '2022-05-05', 100),
(28, 14, '2022-05-06', 90),
(29, 15, '2022-05-05', 100),
(30, 15, '2022-05-06', 150),
(31, 16, '2022-05-05', 190),
(32, 16, '2022-05-06', 190),
(33, 17, '2022-05-05', 200),
(34, 17, '2022-05-06', 190);
-- --------------------------------------------------------
--
-- Struktura tabeli dla tabeli `wodowskazy`
--
CREATE TABLE `wodowskazy` (
`id` int(10) UNSIGNED NOT NULL,
`nazwa` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
`rzeka` varchar(30) COLLATE utf8_unicode_ci DEFAULT NULL,
`stanOstrzegawczy` int(10) UNSIGNED DEFAULT NULL,
`stanAlarmowy` int(10) UNSIGNED DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
--
-- Zrzut danych tabeli `wodowskazy`
--
INSERT INTO `wodowskazy` (`id`, `nazwa`, `rzeka`, `stanOstrzegawczy`, `stanAlarmowy`) VALUES
(1, 'Lubachów', 'Bystrzyca', 190, 210),
(2, 'Jarnołtów', 'Bystrzyca', 230, 270),
(3, 'Łazany', 'Strzegomka', 200, 240),
(4, 'Krzyżanowice', 'Widawa', 150, 200),
(5, 'Świerzawa', 'Kaczawa', 150, 200),
(6, 'Piątnica', 'Kaczawa', 300, 370),
(7, 'Jawor', 'Nysa Szalona', 100, 150),
(8, 'Osetno', 'Barycz', 260, 330),
(9, 'Jelenia Góra', 'Bóbr', 160, 220),
(10, 'Dąbrowa Bolesławicka', 'Bóbr', 300, 350),
(11, 'Mirsk', 'Kwisa', 420, 470),
(12, 'Nowogrodziec', 'Kwisa', 330, 380),
(13, 'Zgorzelec', 'Nysa Łużycka', 340, 400),
(14, 'Trestno', 'Odra', 380, 450),
(15, 'Głogów', 'Odra', 400, 450),
(16, 'Bardo', 'Nysa Kłodzka', 180, 250),
(17, 'Ślęza', 'Ślęza', 270, 300);
--
-- Indeksy dla zrzutów tabel
--
--
-- Indeksy dla tabeli `pomiary`
--
ALTER TABLE `pomiary`
ADD PRIMARY KEY (`id`);
--
-- Indeksy dla tabeli `wodowskazy`
--
ALTER TABLE `wodowskazy`
ADD PRIMARY KEY (`id`);
--
-- AUTO_INCREMENT dla zrzuconych tabel
--
--
-- AUTO_INCREMENT dla tabeli `pomiary`
--
ALTER TABLE `pomiary`
MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=35;
--
-- AUTO_INCREMENT dla tabeli `wodowskazy`
--
ALTER TABLE `wodowskazy`
MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=18;
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 */;

Binary file not shown.

After

Width:  |  Height:  |  Size: 417 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 295 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 296 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 308 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 254 KiB

View File

@@ -0,0 +1,4 @@
SELECT nazwa,rzeka,stanAlarmowy FROM wodowskazy;
SELECT nazwa,rzeka,stanOstrzegawczy,stanAlarmowy FROM wodowskazy JOIN pomiary ON wodowskazy.id = wodowskazy_id WHERE dataPomiaru='2022-05-05';
SELECT nazwa,rzeka,stanOstrzegawczy,stanAlarmowy FROM wodowskazy JOIN pomiary ON wodowskazy.id = wodowskazy_id WHERE dataPomiaru='2022-05-05'AND stanWody > stanOstrzegawczy;
SELECT dataPomiaru, AVG(stanWody) FROM pomiary GROUP BY dataPomiaru;

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

View File

@@ -0,0 +1,113 @@
<?php
$db = mysqli_connect('localhost', 'root', '', 'rzeki');
?>
<!doctype html>
<html lang="pl">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link rel="stylesheet" href="styl.css">
<title>Poziomy Rzek</title>
</head>
<body>
<header id="headers">
<div id="header-left">
<img src="obraz1.png" alt="Mapa Polski">
</div>
<div id="header-right">
<h1>Rzeki w województwie dolnośląskim</h1>
</div>
</header>
<section id="menu">
<form action="poziomRzek.php" method="post">
<span class="radios">
<input type="radio" name="options" id="radio1" value="all">
<label for="radio1">Wszystkie</label>
</span>
<span class="radios">
<input type="radio" name="options" id="radio2" value="warning">
<label for="radio2">Ponad stan ostrzegawczy</label>
</span>
<span class="radios">
<input type="radio" name="options" id="radio3" value="alarm">
<label for="radio3">Pokaż stan alarmowy</label>
</span>
<button type="submit">Pokaż</button>
</form>
</section>
<section id="sections">
<div id="section-left">
<h3>Stany na dzień 2022-05-05</h3>
<table>
<tr>
<th>Wodomierz</th>
<th>Rzeka</th>
<th>Ostrzegawczy</th>
<th>Alarmowy</th>
<th>Aktualny</th>
</tr>
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$poziom = $_POST['options'];
$sql = '';
switch ($poziom) {
case 'all':
$sql = "SELECT wodowskazy.nazwa,wodowskazy.rzeka,wodowskazy.stanOstrzegawczy,wodowskazy.stanAlarmowy,pomiary.stanWody AS aktualny FROM wodowskazy JOIN pomiary ON wodowskazy.id = pomiary.wodowskazy_id WHERE pomiary.dataPomiaru = '2022-05-05';";
break;
case 'warning':
$sql = "SELECT wodowskazy.nazwa,wodowskazy.rzeka,wodowskazy.stanOstrzegawczy,wodowskazy.stanAlarmowy,pomiary.stanWody AS aktualny FROM wodowskazy JOIN pomiary ON wodowskazy.id = pomiary.wodowskazy_id WHERE pomiary.dataPomiaru = '2022-05-05' AND pomiary.stanWody > wodowskazy.stanOstrzegawczy;";
break;
case 'alarm':
$sql = "SELECT wodowskazy.nazwa, wodowskazy.rzeka, wodowskazy.stanOstrzegawczy, wodowskazy.stanAlarmowy, pomiary.stanWody AS aktualny FROM wodowskazy JOIN pomiary ON wodowskazy.id = pomiary.wodowskazy_id WHERE pomiary.dataPomiaru = '2022-05-05' AND pomiary.stanWody > wodowskazy.stanAlarmowy;";
break;
}
if (mysqli_errno($db)) {
$result = mysqli_query($db, $sql);
for ($i = 0; $i < mysqli_num_rows($result); $i++) {
echo "<tr>";
$row = mysqli_fetch_assoc($result);
echo "<td>" . $row['nazwa'] . "</td>";
echo "<td>" . $row['rzeka'] . "</td>";
echo "<td>" . $row['stanOstrzegawczy'] . "</td>";
echo "<td>" . $row['stanAlarmowy'] . "</td>";
echo "<td>" . $row['aktualny'] . "</td>";
echo "</tr>";
}
} else {
echo "Błąd zapytania lub połączenie z bazą danych";
}
}
?>
</table>
</div>
<div id="section-right">
<h3>Informacje</h3>
<ul>
<li>Brak ostrzeżeń o burzach z gradem</li>
<li>Smog w mieście Wrocław</li>
<li>Silny wiatr w Karkonoszach</li>
</ul>
<h3>Średnie stany wód</h3>
<?php
$sql2 = 'SELECT dataPomiaru, AVG(stanWody) FROM pomiary GROUP BY dataPomiaru;';
$result2 = mysqli_query($db, $sql2);
while ($row2 = mysqli_fetch_assoc($result2)) {
echo "<p>" . $row2['dataPomiaru'] . ": " . $row2['AVG(stanWody)'] . "</p>";
}
?>
<a href="https://komunikaty.pl">Dowiedz się więcej</a>
<img src="obraz2.jpg" alt="rzeka">
</div>
</section>
<footer><p>Stronę wykonał: Jakub Grzegorczyk</p></footer>
</body>
</html>
<?php
mysqli_close($db);
?>

View File

@@ -0,0 +1 @@
Google Chrome

View File

@@ -0,0 +1,68 @@
* {
font-family: Georgia, serif;
}
body {
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
}
#headers {
display: flex;
flex-direction: row;
}
#sections {
display: flex;
flex-direction: row;
}
#header-left, #header-right {
background: navy;
color: white;
text-align: center;
height: 100px;
width: 50%;
}
#menu {
background: navy;
padding: 20px;
}
.radios {
color: silver;
margin: 50px;
}
.radios:hover {
color: white;
text-decoration: underline;
}
#section-left, #section-right {
background: azure;
height: 550px;
display: block;
}
#section-left {
width: 70%;
}
#section-right {
width: 30%;
}
footer {
background: navy;
color: white;
}
#section-right > img {
width: 90%;
}
table {
border: 1px solid navy;
margin: 0 auto;
width: 70%;
border-collapse: collapse;
}