17 changed files with 637 additions and 0 deletions
@ -0,0 +1,19 @@ |
|||||
|
<?php |
||||
|
require "../init.php"; |
||||
|
//Příprava dat |
||||
|
$id = $_GET["id"]; |
||||
|
|
||||
|
//SQL příkaz s přijímaní dat z formuláře |
||||
|
$query = $pdo->prepare("DELETE FROM intro WHERE id = :id"); |
||||
|
// KONTROLA -> echo $sql . "<br>"; |
||||
|
|
||||
|
//vykonání příkazu a následný "report" |
||||
|
if ($query->execute(["id" => $id])) { |
||||
|
echo "příkaz byl vykonán"; |
||||
|
header("Location: /?del=$id"); |
||||
|
} else { |
||||
|
echo "Error: DELETE selhal"; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
?> |
||||
@ -0,0 +1,4 @@ |
|||||
|
<?php |
||||
|
|
||||
|
header("Location: /"); |
||||
|
?> |
||||
@ -0,0 +1,22 @@ |
|||||
|
<?php |
||||
|
require "../init.php"; |
||||
|
|
||||
|
//Příprava dat |
||||
|
$nazev = $_GET["nazev"]; |
||||
|
$autor = $_GET["autor"]; |
||||
|
$rok_vydani = $_GET["rok_vydani"]; |
||||
|
|
||||
|
//SQL příkaz s přijímaní dat z formuláře |
||||
|
$query = $pdo->prepare("INSERT INTO intro (nazev, autor, rok_vydani) VALUES (:nazev, :autor, :rok_vydani)"); |
||||
|
// KONTROLA -> echo $sql . "<br>"; |
||||
|
//vykonání příkazu a následný "report" |
||||
|
if ($query->execute(["nazev" => $nazev, "autor" => $autor, "rok_vydani" => $rok_vydani])) { |
||||
|
$last_id = $pdo->lastInsertId(); |
||||
|
echo "příkaz byl vykonán - ID:" . $last_id; |
||||
|
header("Location: /?id=$last_id"); |
||||
|
} else { |
||||
|
echo "Error: INSERT selhal"; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
?> |
||||
@ -0,0 +1,47 @@ |
|||||
|
<?php |
||||
|
require "../init.php"; |
||||
|
|
||||
|
//Příprava dat |
||||
|
$id = $_POST["id"]; |
||||
|
$nazev = $_POST["nazev"]; |
||||
|
$autor = $_POST["autor"]; |
||||
|
$rok_vydani = $_POST["rok_vydani"]; |
||||
|
|
||||
|
// základ SQL |
||||
|
$sql = "UPDATE intro SET "; |
||||
|
$params = []; |
||||
|
|
||||
|
//Dynamické doplnění |
||||
|
if ($nazev != "") { |
||||
|
$sql = $sql . "nazev = :nazev "; |
||||
|
$params["nazev"] = $nazev; |
||||
|
//zajištění čárky pro více úprav |
||||
|
if ($autor != "" || $rok_vydani != "") { |
||||
|
$sql = $sql . ", "; |
||||
|
} |
||||
|
} |
||||
|
if ($autor != "") { |
||||
|
$sql = $sql . "autor = :autor "; |
||||
|
$params["autor"] = $autor; |
||||
|
//zajištění čárky pro více úprav |
||||
|
if ($rok_vydani != "") { |
||||
|
$sql = $sql . ", "; |
||||
|
} |
||||
|
} |
||||
|
if ($rok_vydani != "") { |
||||
|
$sql = $sql . "rok_vydani = :rok_vydani "; |
||||
|
$params["rok_vydani"] = $rok_vydani; |
||||
|
} |
||||
|
//SQL zakončení |
||||
|
$sql = $sql . "WHERE id = :id"; |
||||
|
$params["id"] = $id; |
||||
|
|
||||
|
//echo $sql; |
||||
|
|
||||
|
$query = $pdo->prepare($sql); |
||||
|
if ($query->execute($params)) { |
||||
|
echo "příkaz byl vykonán"; |
||||
|
header("Location: /?up=$id"); |
||||
|
} else { |
||||
|
echo "Error: UPDATE selhal"; |
||||
|
} |
||||
@ -0,0 +1,62 @@ |
|||||
|
<?php |
||||
|
//napojení na DB |
||||
|
require "init.php"; |
||||
|
|
||||
|
//příprava k zobrazení dat |
||||
|
$query = $pdo->prepare("SELECT vypujceni.id, zakaznici.username, intro.nazev, vypujceni.vraceno, vypujceni.datum_vypujceni, vypujceni.datum_vraceni |
||||
|
FROM vypujceni |
||||
|
INNER JOIN zakaznici ON vypujceni.id_zakaznici = zakaznici.id |
||||
|
INNER JOIN intro ON vypujceni.id_intro = intro.id"); |
||||
|
$query->execute(); |
||||
|
$vypujcky = $query->fetchAll(PDO::FETCH_ASSOC); |
||||
|
?> |
||||
|
|
||||
|
<!DOCTYPE html> |
||||
|
<html lang="en"> |
||||
|
<head> |
||||
|
<meta charset="UTF-8"> |
||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge"> |
||||
|
<meta name="viewport" content="width=, initial-scale=1.0"> |
||||
|
<title>ADMIN</title> |
||||
|
<style> |
||||
|
td, th{ |
||||
|
border: 1px solid black; |
||||
|
}; |
||||
|
</style> |
||||
|
</head> |
||||
|
<body> |
||||
|
<h1>Admin page</h1> |
||||
|
<h3><a href="/">HOME</a></h3> |
||||
|
<!-- TABULKA V ADMINU --> |
||||
|
<table> |
||||
|
<!-- HLAVIČKA --> |
||||
|
<tr> |
||||
|
<th>id</th> |
||||
|
<th>uživatel</th> |
||||
|
<th>název knihy</th> |
||||
|
<th>vráceno</th> |
||||
|
<th>Datum vypujčení</th> |
||||
|
<th>Datum vrácení</th> |
||||
|
</tr> |
||||
|
<!-- DATA Z DATABAZE -> GENEROVANI PHP --> |
||||
|
<?php |
||||
|
//vypsat data |
||||
|
foreach ($vypujcky as $row) { |
||||
|
echo "<tr>"; |
||||
|
echo "<td>". $row["id"]."</td>"; |
||||
|
echo "<td>". $row["username"]."</td>"; |
||||
|
echo "<td>". $row["nazev"]."</td>"; |
||||
|
//dynamické využití proměnné |
||||
|
if ($row["vraceno"]) { |
||||
|
echo "<td>Vráceno</td>"; |
||||
|
} else { |
||||
|
echo "<td>Nevráceno</td>"; |
||||
|
} |
||||
|
echo "<td>". $row["datum_vypujceni"]."</td>"; |
||||
|
echo "<td>". $row["datum_vraceni"]."</td>"; |
||||
|
echo "</tr>"; |
||||
|
} |
||||
|
?> |
||||
|
</table> |
||||
|
</body> |
||||
|
</html> |
||||
@ -0,0 +1,55 @@ |
|||||
|
<?php |
||||
|
//napojení na DB |
||||
|
require "init.php"; |
||||
|
|
||||
|
//příprava k zobrazení dat |
||||
|
$query = $pdo->prepare("SELECT * FROM intro ORDER BY id DESC"); |
||||
|
$query->execute(); |
||||
|
$books = $query->fetchAll(PDO::FETCH_ASSOC); |
||||
|
?> |
||||
|
<!DOCTYPE html> |
||||
|
<html lang="en"> |
||||
|
<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>KNIHOVNA</title> |
||||
|
</head> |
||||
|
<body> |
||||
|
<h1>Knihovna</h1> |
||||
|
<h3><a href="/update.php">UPDATE DATA</a></h3> |
||||
|
<h3><a href="/admin.php">ADMIN</a></h3> |
||||
|
|
||||
|
<!-- FORMULÁŘ PRO ODESILÁNÍ NOVÝ KNÍŽKY --> |
||||
|
<form action="/actions/insert.php" method="get"> |
||||
|
<input type="text" name="nazev" id="nazev" placeholder="nazev"><br> |
||||
|
<input type="text" name="autor" id="autor" placeholder="autor"><br> |
||||
|
<input type="number" name="rok_vydani" id="rok_vydani" placeholder="Rok vydání"><br> |
||||
|
<input type="submit" value="Odeslat"> |
||||
|
</form> |
||||
|
<!-- ALERT při vytvoření knihy --> |
||||
|
<?php |
||||
|
if (isset($_GET["id"])){ |
||||
|
echo "<h2>Byla vytvořena kniha s ID:".$_GET["id"]."</h2>"; |
||||
|
} |
||||
|
if (isset($_GET["del"])){ |
||||
|
echo "<h2>Byla odstraněna kniha s ID:".$_GET["del"]."</h2>"; |
||||
|
} |
||||
|
if (isset($_GET["up"])){ |
||||
|
echo "<h2>Byla upravena kniha s ID:".$_GET["up"]."</h2>"; |
||||
|
} |
||||
|
?> |
||||
|
<!-- TABULKA PRO VYPISOVÁNÍ Z DATABÁZE --> |
||||
|
<ul> |
||||
|
<?php |
||||
|
//vypsat data |
||||
|
foreach ($books as $row) { |
||||
|
echo "<li>" . $row["id"]. ") ". $row["nazev"]." <-- ". $row["autor"]." | rok: ".$row["rok_vydani"]; |
||||
|
echo ' <a href="/actions/delete.php?id='.$row["id"].'">Vymazat</a>'; |
||||
|
echo "</li>"; |
||||
|
} |
||||
|
?> |
||||
|
</ul> |
||||
|
|
||||
|
</body> |
||||
|
</html> |
||||
@ -0,0 +1,75 @@ |
|||||
|
<?php |
||||
|
//napojení na DB (SQLite přes PDO) |
||||
|
$db_file = __DIR__ . "/database.sqlite"; |
||||
|
|
||||
|
try { |
||||
|
$pdo = new PDO("sqlite:" . $db_file); |
||||
|
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); |
||||
|
} catch (PDOException $e) { |
||||
|
die("Chyba připojení k databázi: " . $e->getMessage()); |
||||
|
} |
||||
|
|
||||
|
//zapnutí foreign keys |
||||
|
$pdo->exec("PRAGMA foreign_keys = ON"); |
||||
|
|
||||
|
//vytvoření tabulek pokud neexistují |
||||
|
$pdo->exec("CREATE TABLE IF NOT EXISTS intro ( |
||||
|
id INTEGER PRIMARY KEY AUTOINCREMENT, |
||||
|
nazev VARCHAR(64) NOT NULL, |
||||
|
autor VARCHAR(64) NOT NULL, |
||||
|
rok_vydani INTEGER NOT NULL |
||||
|
)"); |
||||
|
|
||||
|
$pdo->exec("CREATE TABLE IF NOT EXISTS zakaznici ( |
||||
|
id INTEGER PRIMARY KEY AUTOINCREMENT, |
||||
|
username VARCHAR(64) NOT NULL, |
||||
|
first_name VARCHAR(64) NOT NULL, |
||||
|
last_name VARCHAR(64) NOT NULL |
||||
|
)"); |
||||
|
|
||||
|
$pdo->exec("CREATE TABLE IF NOT EXISTS vypujceni ( |
||||
|
id INTEGER PRIMARY KEY AUTOINCREMENT, |
||||
|
id_zakaznici INTEGER NOT NULL, |
||||
|
id_intro INTEGER NOT NULL, |
||||
|
datum_vypujceni DATETIME NOT NULL, |
||||
|
datum_vraceni DATETIME NOT NULL, |
||||
|
vraceno INTEGER NOT NULL, |
||||
|
FOREIGN KEY (id_zakaznici) REFERENCES zakaznici(id), |
||||
|
FOREIGN KEY (id_intro) REFERENCES intro(id) |
||||
|
)"); |
||||
|
|
||||
|
//vložení výchozích dat pokud jsou tabulky prázdné |
||||
|
$query = $pdo->prepare("SELECT COUNT(*) FROM intro"); |
||||
|
$query->execute(); |
||||
|
$count = $query->fetchColumn(); |
||||
|
|
||||
|
if ($count == 0) { |
||||
|
$pdo->exec("INSERT INTO intro (id, nazev, autor, rok_vydani) VALUES |
||||
|
(1, 'Kytice', 'Jaromir Erben', 1901), |
||||
|
(2, 'Karlštejn', 'Nějaky autor', 2022), |
||||
|
(3, 'Steti', 'Neznamy', 2002), |
||||
|
(4, 'Médeia', 'Euripidés', 5), |
||||
|
(5, 'Evžen Oněgin', 'A. S. Puškin', 1823), |
||||
|
(6, 'RUR', 'K. Čapek', 1920), |
||||
|
(7, 'Spalovač mrtvol', 'L. Fuks', 1967), |
||||
|
(8, 'Petr a Lucie', 'R. Rolland', 1920) |
||||
|
"); |
||||
|
|
||||
|
$pdo->exec("INSERT INTO zakaznici (id, username, first_name, last_name) VALUES |
||||
|
(1, 'franta', 'Frantíšek', 'Novák'), |
||||
|
(2, 'pepa', 'Josef', 'Tyl'), |
||||
|
(3, 'kubino', 'Jakub', 'Pospíšil'), |
||||
|
(4, 'asvo', 'Alena', 'Svobodová'), |
||||
|
(5, 'olhe', 'Olga', 'Helclová') |
||||
|
"); |
||||
|
|
||||
|
$pdo->exec("INSERT INTO vypujceni (id, id_zakaznici, id_intro, datum_vypujceni, datum_vraceni, vraceno) VALUES |
||||
|
(1, 2, 3, '2023-01-12 10:27:56', '2023-02-01 12:00:00', 0), |
||||
|
(2, 2, 4, '2023-01-12 10:28:39', '2023-02-01 12:00:00', 0), |
||||
|
(3, 2, 7, '2023-01-12 10:30:19', '2023-02-01 13:15:30', 1), |
||||
|
(4, 4, 8, '2023-01-12 10:31:10', '2023-02-01 13:15:30', 1), |
||||
|
(5, 4, 4, '2023-01-12 10:31:23', '2023-02-01 13:15:30', 1), |
||||
|
(6, 5, 6, '2023-01-12 10:31:53', '2023-02-01 13:15:30', 0) |
||||
|
"); |
||||
|
} |
||||
|
?> |
||||
@ -0,0 +1,42 @@ |
|||||
|
<?php |
||||
|
//napojení na DB |
||||
|
require "init.php"; |
||||
|
|
||||
|
//příprava k zobrazení dat |
||||
|
$query = $pdo->prepare("SELECT * FROM intro"); |
||||
|
$query->execute(); |
||||
|
$books = $query->fetchAll(PDO::FETCH_ASSOC); |
||||
|
?> |
||||
|
<!DOCTYPE html> |
||||
|
<html lang="en"> |
||||
|
<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>UPDATE</title> |
||||
|
</head> |
||||
|
<body> |
||||
|
<h1>UPDATE DATA</h1> |
||||
|
<!-- FORMULÁŘ PRO ODESILÁNÍ NOVÝ KNÍŽKY --> |
||||
|
<form action="actions/update.php" method="post"> |
||||
|
<input type="text" name="id" id="id" placeholder="ID"><br> |
||||
|
<input type="text" name="nazev" id="nazev" placeholder="nazev"><br> |
||||
|
<input type="text" name="autor" id="autor" placeholder="autor"><br> |
||||
|
<input type="number" name="rok_vydani" id="rok_vydani" placeholder="Rok vydání"><br> |
||||
|
<input type="submit" value="Odeslat"> |
||||
|
</form> |
||||
|
|
||||
|
<!-- TABULKA PRO VYPISOVÁNÍ Z DATABÁZE --> |
||||
|
<ul> |
||||
|
<?php |
||||
|
//vypsat data |
||||
|
foreach ($books as $row) { |
||||
|
echo "<li>" . $row["id"]. ") ". $row["nazev"]." <-- ". $row["autor"]." | rok: ".$row["rok_vydani"]; |
||||
|
echo ' <a href="delete.php?id='.$row["id"].'">Vymazat</a>'; |
||||
|
echo "</li>"; |
||||
|
} |
||||
|
?> |
||||
|
</ul> |
||||
|
|
||||
|
</body> |
||||
|
</html> |
||||
@ -0,0 +1,19 @@ |
|||||
|
<?php |
||||
|
require "../init.php"; |
||||
|
//Příprava dat |
||||
|
$id = $_GET["id"]; |
||||
|
|
||||
|
//SQL příkaz s přijímaní dat z formuláře |
||||
|
$query = $pdo->prepare("DELETE FROM intro WHERE id = :id"); |
||||
|
// KONTROLA -> echo $sql . "<br>"; |
||||
|
|
||||
|
//vykonání příkazu a následný "report" |
||||
|
if ($query->execute(["id" => $id])) { |
||||
|
echo "příkaz byl vykonán"; |
||||
|
header("Location: /?del=$id"); |
||||
|
} else { |
||||
|
echo "Error: DELETE selhal"; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
?> |
||||
@ -0,0 +1,4 @@ |
|||||
|
<?php |
||||
|
|
||||
|
header("Location: /"); |
||||
|
?> |
||||
@ -0,0 +1,22 @@ |
|||||
|
<?php |
||||
|
require "../init.php"; |
||||
|
|
||||
|
//Příprava dat |
||||
|
$nazev = $_GET["nazev"]; |
||||
|
$autor = $_GET["autor"]; |
||||
|
$rok_vydani = $_GET["rok_vydani"]; |
||||
|
|
||||
|
//SQL příkaz s přijímaní dat z formuláře |
||||
|
$query = $pdo->prepare("INSERT INTO intro (nazev, autor, rok_vydani) VALUES (:nazev, :autor, :rok_vydani)"); |
||||
|
// KONTROLA -> echo $sql . "<br>"; |
||||
|
//vykonání příkazu a následný "report" |
||||
|
if ($query->execute(["nazev" => $nazev, "autor" => $autor, "rok_vydani" => $rok_vydani])) { |
||||
|
$last_id = $pdo->lastInsertId(); |
||||
|
echo "příkaz byl vykonán - ID:" . $last_id; |
||||
|
header("Location: /?id=$last_id"); |
||||
|
} else { |
||||
|
echo "Error: INSERT selhal"; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
?> |
||||
@ -0,0 +1,47 @@ |
|||||
|
<?php |
||||
|
require "../init.php"; |
||||
|
|
||||
|
//Příprava dat |
||||
|
$id = $_POST["id"]; |
||||
|
$nazev = $_POST["nazev"]; |
||||
|
$autor = $_POST["autor"]; |
||||
|
$rok_vydani = $_POST["rok_vydani"]; |
||||
|
|
||||
|
// základ SQL |
||||
|
$sql = "UPDATE intro SET "; |
||||
|
$params = []; |
||||
|
|
||||
|
//Dynamické doplnění |
||||
|
if ($nazev != "") { |
||||
|
$sql = $sql . "nazev = :nazev "; |
||||
|
$params["nazev"] = $nazev; |
||||
|
//zajištění čárky pro více úprav |
||||
|
if ($autor != "" || $rok_vydani != "") { |
||||
|
$sql = $sql . ", "; |
||||
|
} |
||||
|
} |
||||
|
if ($autor != "") { |
||||
|
$sql = $sql . "autor = :autor "; |
||||
|
$params["autor"] = $autor; |
||||
|
//zajištění čárky pro více úprav |
||||
|
if ($rok_vydani != "") { |
||||
|
$sql = $sql . ", "; |
||||
|
} |
||||
|
} |
||||
|
if ($rok_vydani != "") { |
||||
|
$sql = $sql . "rok_vydani = :rok_vydani "; |
||||
|
$params["rok_vydani"] = $rok_vydani; |
||||
|
} |
||||
|
//SQL zakončení |
||||
|
$sql = $sql . "WHERE id = :id"; |
||||
|
$params["id"] = $id; |
||||
|
|
||||
|
//echo $sql; |
||||
|
|
||||
|
$query = $pdo->prepare($sql); |
||||
|
if ($query->execute($params)) { |
||||
|
echo "příkaz byl vykonán"; |
||||
|
header("Location: /?up=$id"); |
||||
|
} else { |
||||
|
echo "Error: UPDATE selhal"; |
||||
|
} |
||||
@ -0,0 +1,53 @@ |
|||||
|
<?php |
||||
|
//napojení na DB |
||||
|
require "init.php"; |
||||
|
|
||||
|
//příprava k zobrazení dat |
||||
|
$query = $pdo->prepare("SELECT * FROM intro ORDER BY id DESC"); |
||||
|
$query->execute(); |
||||
|
$books = $query->fetchAll(PDO::FETCH_ASSOC); |
||||
|
?> |
||||
|
<!DOCTYPE html> |
||||
|
<html lang="en"> |
||||
|
<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>KNIHOVNA</title> |
||||
|
</head> |
||||
|
<body> |
||||
|
<h1>Knihovna</h1> |
||||
|
<h3><a href="/update.php">UPDATE DATA</a></h3> |
||||
|
<!-- FORMULÁŘ PRO ODESILÁNÍ NOVÝ KNÍŽKY --> |
||||
|
<form action="/actions/insert.php" method="get"> |
||||
|
<input type="text" name="nazev" id="nazev" placeholder="nazev"><br> |
||||
|
<input type="text" name="autor" id="autor" placeholder="autor"><br> |
||||
|
<input type="number" name="rok_vydani" id="rok_vydani" placeholder="Rok vydání"><br> |
||||
|
<input type="submit" value="Odeslat"> |
||||
|
</form> |
||||
|
<!-- ALERT při vytvoření knihy --> |
||||
|
<?php |
||||
|
if (isset($_GET["id"])){ |
||||
|
echo "<h2>Byla vytvořena kniha s ID:".$_GET["id"]."</h2>"; |
||||
|
} |
||||
|
if (isset($_GET["del"])){ |
||||
|
echo "<h2>Byla odstraněna kniha s ID:".$_GET["del"]."</h2>"; |
||||
|
} |
||||
|
if (isset($_GET["up"])){ |
||||
|
echo "<h2>Byla upravena kniha s ID:".$_GET["up"]."</h2>"; |
||||
|
} |
||||
|
?> |
||||
|
<!-- TABULKA PRO VYPISOVÁNÍ Z DATABÁZE --> |
||||
|
<ul> |
||||
|
<?php |
||||
|
//vypsat data |
||||
|
foreach ($books as $row) { |
||||
|
echo "<li>" . $row["id"]. ") ". $row["nazev"]." <-- ". $row["autor"]." | rok: ".$row["rok_vydani"]; |
||||
|
echo ' <a href="/actions/delete.php?id='.$row["id"].'">Vymazat</a>'; |
||||
|
echo "</li>"; |
||||
|
} |
||||
|
?> |
||||
|
</ul> |
||||
|
|
||||
|
</body> |
||||
|
</html> |
||||
@ -0,0 +1,37 @@ |
|||||
|
<?php |
||||
|
//napojení na DB (SQLite přes PDO) |
||||
|
$db_file = __DIR__ . "/database.sqlite"; |
||||
|
|
||||
|
try { |
||||
|
$pdo = new PDO("sqlite:" . $db_file); |
||||
|
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); |
||||
|
} catch (PDOException $e) { |
||||
|
die("Chyba připojení k databázi: " . $e->getMessage()); |
||||
|
} |
||||
|
|
||||
|
//vytvoření tabulky pokud neexistuje |
||||
|
$pdo->exec("CREATE TABLE IF NOT EXISTS intro ( |
||||
|
id INTEGER PRIMARY KEY AUTOINCREMENT, |
||||
|
nazev VARCHAR(64) NOT NULL, |
||||
|
autor VARCHAR(64) NOT NULL, |
||||
|
rok_vydani INTEGER NOT NULL |
||||
|
)"); |
||||
|
|
||||
|
//vložení výchozích dat pokud je tabulka prázdná |
||||
|
$query = $pdo->prepare("SELECT COUNT(*) FROM intro"); |
||||
|
$query->execute(); |
||||
|
$count = $query->fetchColumn(); |
||||
|
|
||||
|
if ($count == 0) { |
||||
|
$pdo->exec("INSERT INTO intro (id, nazev, autor, rok_vydani) VALUES |
||||
|
(1, 'Kytice', 'Jaromir Erben', 1901), |
||||
|
(2, 'Karlštejn', 'Nějaky autor', 2022), |
||||
|
(3, 'Steti', 'Neznamy', 2002), |
||||
|
(4, 'Médeia', 'Euripidés', 5), |
||||
|
(5, 'Evžen Oněgin', 'A. S. Puškin', 1823), |
||||
|
(6, 'RUR', 'K. Čapek', 1920), |
||||
|
(7, 'Spalovač mrtvol', 'L. Fuks', 1967), |
||||
|
(8, 'Petr a Lucie', 'R. Rolland', 1920) |
||||
|
"); |
||||
|
} |
||||
|
?> |
||||
@ -0,0 +1,42 @@ |
|||||
|
<?php |
||||
|
//napojení na DB |
||||
|
require "init.php"; |
||||
|
|
||||
|
//příprava k zobrazení dat |
||||
|
$query = $pdo->prepare("SELECT * FROM intro"); |
||||
|
$query->execute(); |
||||
|
$books = $query->fetchAll(PDO::FETCH_ASSOC); |
||||
|
?> |
||||
|
<!DOCTYPE html> |
||||
|
<html lang="en"> |
||||
|
<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>UPDATE</title> |
||||
|
</head> |
||||
|
<body> |
||||
|
<h1>UPDATE DATA</h1> |
||||
|
<!-- FORMULÁŘ PRO ODESILÁNÍ NOVÝ KNÍŽKY --> |
||||
|
<form action="actions/update.php" method="post"> |
||||
|
<input type="text" name="id" id="id" placeholder="ID"><br> |
||||
|
<input type="text" name="nazev" id="nazev" placeholder="nazev"><br> |
||||
|
<input type="text" name="autor" id="autor" placeholder="autor"><br> |
||||
|
<input type="number" name="rok_vydani" id="rok_vydani" placeholder="Rok vydání"><br> |
||||
|
<input type="submit" value="Odeslat"> |
||||
|
</form> |
||||
|
|
||||
|
<!-- TABULKA PRO VYPISOVÁNÍ Z DATABÁZE --> |
||||
|
<ul> |
||||
|
<?php |
||||
|
//vypsat data |
||||
|
foreach ($books as $row) { |
||||
|
echo "<li>" . $row["id"]. ") ". $row["nazev"]." <-- ". $row["autor"]." | rok: ".$row["rok_vydani"]; |
||||
|
echo ' <a href="delete.php?id='.$row["id"].'">Vymazat</a>'; |
||||
|
echo "</li>"; |
||||
|
} |
||||
|
?> |
||||
|
</ul> |
||||
|
|
||||
|
</body> |
||||
|
</html> |
||||
@ -0,0 +1,87 @@ |
|||||
|
<?php |
||||
|
// ============================================= |
||||
|
// ÚVOD DO SQLITE + PHP (PDO) |
||||
|
// ============================================= |
||||
|
// SQLite = databáze uložená v jednom souboru |
||||
|
// Nepotřebujeme žádný server (jako MySQL) |
||||
|
// PDO = univerzální způsob jak se v PHP připojit k databázi |
||||
|
// ============================================= |
||||
|
|
||||
|
// 1) PŘIPOJENÍ K DATABÁZI |
||||
|
// ----------------------- |
||||
|
// Soubor "ukazka.sqlite" se vytvoří automaticky |
||||
|
$pdo = new PDO("sqlite:" . __DIR__ . "/ukazka.sqlite"); |
||||
|
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); |
||||
|
|
||||
|
// 2) VYTVOŘENÍ TABULKY (pokud ještě neexistuje) |
||||
|
// ----------------------------------------------- |
||||
|
$pdo->exec("CREATE TABLE IF NOT EXISTS zaci ( |
||||
|
id INTEGER PRIMARY KEY AUTOINCREMENT, |
||||
|
jmeno TEXT NOT NULL, |
||||
|
vek INTEGER NOT NULL |
||||
|
)"); |
||||
|
|
||||
|
// 3) ZPRACOVÁNÍ FORMULÁŘE - přidání žáka |
||||
|
// ---------------------------------------- |
||||
|
if (isset($_POST["pridat"])) { |
||||
|
$jmeno = $_POST["jmeno"]; |
||||
|
$vek = $_POST["vek"]; |
||||
|
|
||||
|
// prepare + execute = bezpečný způsob vkládání dat |
||||
|
$query = $pdo->prepare("INSERT INTO zaci (jmeno, vek) VALUES (:jmeno, :vek)"); |
||||
|
$query->execute(["jmeno" => $jmeno, "vek" => $vek]); |
||||
|
|
||||
|
// přesměrování zpět (aby se formulář neposlal znovu při refreshi) |
||||
|
header("Location: index.php"); |
||||
|
exit; |
||||
|
} |
||||
|
x |
||||
|
// 4) ZPRACOVÁNÍ SMAZÁNÍ |
||||
|
// ---------------------- |
||||
|
if (isset($_GET["smazat"])) { |
||||
|
$id = $_GET["smazat"]; |
||||
|
|
||||
|
$query = $pdo->prepare("DELETE FROM zaci WHERE id = :id"); |
||||
|
$query->execute(["id" => $id]); |
||||
|
|
||||
|
header("Location: index.php"); |
||||
|
exit; |
||||
|
} |
||||
|
|
||||
|
// 5) NAČTENÍ VŠECH ŽÁKŮ Z DATABÁZE |
||||
|
// ----------------------------------- |
||||
|
$query = $pdo->prepare("SELECT * FROM zaci ORDER BY id DESC"); |
||||
|
$query->execute(); |
||||
|
$zaci = $query->fetchAll(PDO::FETCH_ASSOC); |
||||
|
?> |
||||
|
<!DOCTYPE html> |
||||
|
<html lang="cs"> |
||||
|
<head> |
||||
|
<meta charset="UTF-8"> |
||||
|
<title>SQLite úvod</title> |
||||
|
</head> |
||||
|
<body> |
||||
|
<h1>Seznam žáků</h1> |
||||
|
|
||||
|
<!-- FORMULÁŘ pro přidání --> |
||||
|
<form method="post"> |
||||
|
<input type="text" name="jmeno" placeholder="Jméno" required> |
||||
|
<input type="number" name="vek" placeholder="Věk" required> |
||||
|
<button type="submit" name="pridat">Přidat</button> |
||||
|
</form> |
||||
|
|
||||
|
<!-- VÝPIS z databáze --> |
||||
|
<ul> |
||||
|
<?php foreach ($zaci as $zak): ?> |
||||
|
<li> |
||||
|
<?= $zak["id"] ?>) <?= $zak["jmeno"] ?> - <?= $zak["vek"] ?> let |
||||
|
<a href="?smazat=<?= $zak["id"] ?>">smazat</a> |
||||
|
</li> |
||||
|
<?php endforeach; ?> |
||||
|
</ul> |
||||
|
|
||||
|
<?php if (empty($zaci)): ?> |
||||
|
<p>Žádní žáci v databázi.</p> |
||||
|
<?php endif; ?> |
||||
|
</body> |
||||
|
</html> |
||||
Binary file not shown.
Loading…
Reference in new issue