NodeJS repozitar pro 4.J pro rok 2025/2026
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

87 lines
2.6 KiB

<?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>