PHP Front Controller: Aktion aus der URL bestimmen.
$action = $_GET['action'] ?? 'browse'; // -> 'insert'
$activeDatabase = 'KFZ_Demo';
require 'actions/insert.php';
SQL Tabellen in 'KFZ_Demo' ermitteln.
SHOW FULL TABLES
→ 6 Zeile(n) gelesen.
PHP Datenbank-Verbindung zu 'KFZ_Demo' aufbauen (PDO).
new PDO(db_dsn_for_database('KFZ_Demo'), DB_USER, DB_PASS, [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false,
PDO::ATTR_STRINGIFY_FETCHES => true, // Zahlen als Strings -> einheitlicher Vergleich
]);SQL Spalten von 'reparatur' ermitteln.
SHOW COLUMNS FROM `reparatur`
→ 7 Zeile(n) gelesen.
SQL Fremdschlüssel von 'reparatur' ermitteln.
SELECT COLUMN_NAME, REFERENCED_TABLE_NAME, REFERENCED_COLUMN_NAME
FROM information_schema.KEY_COLUMN_USAGE
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = :t
AND REFERENCED_TABLE_NAME IS NOT NULL| Platzhalter | Wert |
|---|
| :t | reparatur |
→ 2 Zeile(n) gelesen.
SQL Nächste freie ID für 'reparatur' ermitteln (MAX + 1).
SELECT COALESCE(MAX(`rep_id`), 0) + 1 AS next FROM `reparatur`
→ 1 Zeile(n) gelesen.
SQL Auswahlwerte aus 'schadensfall' für das Dropdown laden.
SELECT schaden_id AS id, CONCAT(schaden_art,' am ',schaden_datum,' (',schaden_ort,')') AS label
FROM schadensfall ORDER BY schaden_id→ 5 Zeile(n) gelesen.
SQL Auswahlwerte aus 'werkstatt' für das Dropdown laden.
SELECT werkstatt_id AS id, CONCAT(name,' (',ort,')') AS label
FROM werkstatt ORDER BY name→ 3 Zeile(n) gelesen.