167 lines
5.6 KiB
PHP
167 lines
5.6 KiB
PHP
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Mozi adatbázis megoldások</title>
|
|
<style>
|
|
body {
|
|
font-family: Arial, sans-serif;
|
|
margin: 0;
|
|
padding: 0;
|
|
background-color: #f4f4f4;
|
|
color: #333;
|
|
}
|
|
.container {
|
|
width: 80%;
|
|
margin: 0 auto;
|
|
padding: 20px;
|
|
background-color: #fff;
|
|
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
|
|
}
|
|
h1 {
|
|
text-align: center;
|
|
color: #444;
|
|
}
|
|
.result {
|
|
margin: 20px 0;
|
|
padding: 10px;
|
|
background-color: #e7f3fe;
|
|
border-left: 6px solid #2196F3;
|
|
}
|
|
.result.success {
|
|
background-color: #d4edda;
|
|
border-left: 6px solid #28a745;
|
|
}
|
|
.result.error {
|
|
background-color: #f8d7da;
|
|
border-left: 6px solid #dc3545;
|
|
}
|
|
table {
|
|
width: 100%;
|
|
border-collapse: collapse;
|
|
margin: 20px 0;
|
|
}
|
|
table, th, td {
|
|
border: 1px solid #ddd;
|
|
}
|
|
th, td {
|
|
padding: 12px;
|
|
text-align: left;
|
|
}
|
|
th {
|
|
background-color: #f2f2f2;
|
|
}
|
|
tr:nth-child(even) {
|
|
background-color: #f9f9f9;
|
|
}
|
|
tr:hover {
|
|
background-color: #f1f1f1;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<?php
|
|
require_once('config.php');
|
|
|
|
function executeQuery($conn, $query, $onlyValues = false) {
|
|
$result = $conn->query($query);
|
|
if ($result->num_rows > 0) {
|
|
$output = "";
|
|
while($row = $result->fetch_assoc()) {
|
|
foreach ($row as $key => $value) {
|
|
if ($onlyValues) {
|
|
$output .= "$value<br>";
|
|
} else {
|
|
$output .= "$key: $value<br>";
|
|
}
|
|
}
|
|
}
|
|
return $output;
|
|
} else {
|
|
return "0 results";
|
|
}
|
|
}
|
|
|
|
function executeQueryAsTable($conn, $query) {
|
|
$result = $conn->query($query);
|
|
if ($result->num_rows > 0) {
|
|
$output = "<table><tr>";
|
|
// Fetch the headers
|
|
$headers = array_keys($result->fetch_assoc());
|
|
foreach ($headers as $header) {
|
|
$output .= "<th>$header</th>";
|
|
}
|
|
$output .= "</tr>";
|
|
// Reset result pointer and fetch data
|
|
$result->data_seek(0);
|
|
while($row = $result->fetch_assoc()) {
|
|
$output .= "<tr>";
|
|
foreach ($row as $value) {
|
|
$output .= "<td>$value</td>";
|
|
}
|
|
$output .= "</tr>";
|
|
}
|
|
$output .= "</table>";
|
|
return $output;
|
|
} else {
|
|
return "0 results";
|
|
}
|
|
}
|
|
|
|
function executeUpdate($conn, $query) {
|
|
if ($conn->query($query) === TRUE) {
|
|
return true;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
function executeInsert($conn, $query) {
|
|
if ($conn->query($query) === TRUE) {
|
|
return true;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
|
|
$feladat15 = "SELECT COUNT(id) as vetitesek_szama FROM vetites WHERE kezdes = '20:00'";
|
|
echo "<div class='result'>Vetítések száma 20:00 órakor: " . executeQuery($conn, $feladat15, true) . "</div>";
|
|
|
|
|
|
$feladat16 = "SELECT COUNT(jegy.id) as 'jegy_db', vendeg.nev as 'vendeg_nev' FROM jegy INNER JOIN vendeg on jegy.vendegId = vendeg.id GROUP BY (jegy.vendegId) ORDER BY jegy_db DESC LIMIT 5;";
|
|
echo "16.feladat: " . executeQueryAsTable($conn, $feladat16) . "<br>";
|
|
|
|
|
|
$updateQuery = "UPDATE film SET cim = 'Csillagok között' WHERE cim = 'Interstellar'";
|
|
|
|
if (executeUpdate($conn, $updateQuery)) {
|
|
echo "<div class='result'>17. feladat: a film címe sikeresen átírva <br></div>";
|
|
} else {
|
|
echo "Hiba a film címének átírásakor <br>";
|
|
}
|
|
|
|
|
|
$insertQuery = "INSERT INTO filmtipus (nev) SELECT 'Animációs' WHERE NOT EXISTS (SELECT 1 FROM filmtipus WHERE nev = 'Animációs')";
|
|
if (executeInsert($conn, $insertQuery)) {
|
|
echo "<div class='result'>18. feladat: Az új filmtípus hozzá lett adva <br></div>";
|
|
} else {
|
|
echo "Hiba a hozzáadáskor <br>";
|
|
}
|
|
|
|
$feladat19 = "SELECT nev as 'nev', count(jegy.id) as 'teljes_aru_jegy_db' FROM vendeg INNER JOIN jegy on vendeg.id = jegy.vendegId WHERE nev = 'Fodor András' and kedvezmeny = 0;";
|
|
echo "19.feladat: " . executeQueryAsTable($conn, $feladat19) . "<br>";
|
|
|
|
$feladat20 = "SELECT film.cim as 'film_neve', COUNT(jegy.id) as 'jegy_darabszam', SUM(film.jegyar - film.jegyar * jegy.kedvezmeny / 100) as 'teljes_bevetel'
|
|
FROM film
|
|
INNER JOIN vetites on film.id = vetites.filmId
|
|
INNER JOIN jegy on vetites.id = jegy.vetitesId
|
|
GROUP BY film.cim
|
|
ORDER BY teljes_bevetel DESC LIMIT 1;";
|
|
echo "20.feladat: " . executeQueryAsTable($conn, $feladat20) . "<br>";
|
|
|
|
$conn->close();
|
|
?>
|
|
</body>
|
|
</html>
|