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.
 
 
 
 
 

75 lines
2.6 KiB

<?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)
");
}
?>