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