Diese Demo zeigt dir die Funktionsweise und die Stärke von JsonSQL, indem wir automatisch definierte Felder, wie zum Beispiel Zeitstempel und Autoincrement-IDs, in einer Tabelle anlegen und die entsprechenden Informationen zur Tabelle anzeigen. Keine teuren Lizenzgebühren oder komplexe Datenbankserver – JsonSQL setzt alles in einem kompakten und effizienten Format um.
Sieh dir an, wie leicht es ist, mit JsonSQL Tabellen zu verwalten, Datensätze zu erstellen und die benötigten Felder automatisch zu definieren. Es ist einfach, flexibel und vor allem praktisch!
Überzeuge dich selbst, wie JsonSQL dir hilft, Datenbankoperationen unkompliziert, schnell und einfach durchzuführen – direkt auf deinen JSON-Dateien!
ID | Name | Created At | Updated At | |
---|---|---|---|---|
79 | Max Mustermann | max@example.com | 2025-06-16 19:19:37 | 2025-06-16 19:19:37 |
80 | Erika Musterfrau | erika@example.com | 2025-06-16 19:19:37 | 2025-06-16 19:19:37 |
81 | John Doe | john@example.com | 2025-06-16 19:19:37 | 2025-06-16 19:19:37 |
<?php
$pageTitle = "JsonSQL SetTable Demo: Tabelle mit Auto-Feldern";
$JsonSQLpath = __DIR__ . '/../../src/JsonSQL.php';
if (!file_exists($JsonSQLpath)) {
die("❌ Datei nicht gefunden!");
}
require_once $JsonSQLpath;
require_once __DIR__ . '/../includes/header.php';
use Src\JsonSQL;
?>
<?php
// Datenbank und Tabellen definieren
$db = new JsonSQL(['demo' => __DIR__ . '/../testdb']);
$db->use('demo');
$table = 'dai_table'; // Die Tabelle, die wir anlegen möchten
// 1. Tabelle leeren, wenn sie bereits existiert, und Autoincrement sowie Timestamps definieren
$db->truncate($table);
// 2. Autoincrement für 'id' setzen, wenn nicht bereits gesetzt
if (!$db->isAutoincrementField('id')) {
$db->addAutoincrementField('id', 1);
echo "<div class='alert_ alert-info'>⚙️ Autoincrement für 'id' wurde gesetzt (Startwert 1).</div>";
} else {
echo "<div class='alert_ alert-success'>✅ Autoincrement für 'id' ist gesetzt</div>";
}
// 3. "created_at" und "updated_at" Felder setzen, falls nicht bereits gesetzt
if (!$db->isCreatedAtField('created_at')) {
$db->addCreatedAtField('created_at');
echo "<div class='alert_ alert-info'>⚙️ 'created_at' Feld wurde gesetzt.</div>";
} else {
echo "<div class='alert_ alert-success'>✅ 'created_at' Feld ist gesetzt.</div>";
}
if (!$db->isUpdatedAtField('updated_at')) {
$db->addUpdatedAtField('updated_at');
echo "<div class='alert_ alert-info'>⚙️ 'updated_at' Feld wurde gesetzt.</div>";
} else {
echo "<div class='alert_ alert-success'>✅ 'updated_at' Feld ist gesetzt.</div>";
}
// 4. Beispielhafte Daten für die Tabelle
$records = [
['name' => 'Max Mustermann', 'email' => 'max@example.com'],
['name' => 'Erika Musterfrau', 'email' => 'erika@example.com'],
['name' => 'John Doe', 'email' => 'john@example.com'],
];
// 5. Daten in die Tabelle einfügen
echo "<div class='alert_ alert-info'>⚙️ Neue Datensätze werden eingefügt...</div>";
foreach ($records as $record) {
$db->insert($record);
echo "<div class='alert_ alert-success'>✅ Datensatz für {$record['name']} wurde gespeichert.</div>";
}
// 6. Tabelle leeren oder anlegen und automatisch Felder setzen
$db->setTable($table);
// 7. Tabelle mit den Datensätzen ausgeben
$allRecords = $db->from($table)->get();
// 8. Tabelle-Infos (Dateigröße, letzte Änderung, Felder und Datensätze) anzeigen
$tableInfo = $db->getTableInfo();
?>
<h3 style="margin-top: 25px;">📦 Tabelleninformationen:</h3>
<div class="table-info card p-4">
<h5>🛠️ Automatisch definierte Felder:</h5>
<ul>
<li><strong>Autoincrement:</strong> <?= $tableInfo['autoincrement'] ? 'Ja, Feldname: ' . $tableInfo['autoincrement'] : 'Nicht definiert' ?></li>
<li><strong>AutoCreated:</strong> <?= $tableInfo['autocreated'] ? 'Ja, Feldname: ' . $tableInfo['autocreated'] : 'Nicht definiert' ?></li>
<li><strong>AutoUpdated:</strong> <?= $tableInfo['autoupdated'] ? 'Ja, Feldname: ' . $tableInfo['autoupdated'] : 'Nicht definiert' ?></li>
<li><strong>AutoHash:</strong> <?= $tableInfo['autohash'] ? 'Ja, Feldname: ' . $tableInfo['autohash'] : 'Nicht definiert' ?></li>
<li><strong>AutoUUID:</strong> <?= $tableInfo['autouuid'] ? 'Ja, Feldname: ' . $tableInfo['autouuid'] : 'Nicht definiert' ?></li>
</ul>
<h5>📊 Tabelleninformationen:</h5>
<ul>
<li><strong>Tabellenname:</strong> <?= $tableInfo['table_name'] ?></li>
<li><strong>Tabellenpfad:</strong> <?= $tableInfo['table_path'] ?></li>
<li><strong>Dateigröße:</strong> <?= $tableInfo['file_size'] ?> bytes</li>
<li><strong>Letzte Änderung:</strong> <?= $tableInfo['last_modified'] ?></li>
<li><strong>Anzahl der Datensätze:</strong> <?= $tableInfo['record_count'] ?></li>
<li><strong>Anzahl der Felder (inkl. systemdefinierter):</strong> <?= $tableInfo['system_fields_count'] ?> Systemfelder, <?= $tableInfo['real_fields_count'] ?> echte Felder</li>
</ul>
</div>
<?php
// 9. Datensätze in einer Tabelle anzeigen
echo "<h3>📦 Alle Datensätze aus der Tabelle:</h3>";
echo "<table class='table table-striped table-bordered'>";
echo "<thead><tr><th>ID</th><th>Name</th><th>Email</th><th>Created At</th><th>Updated At</th></tr></thead>";
echo "<tbody>";
foreach ($allRecords as $record) {
echo "<tr>";
echo "<td>{$record['id']}</td>";
echo "<td>{$record['name']}</td>";
echo "<td>{$record['email']}</td>";
echo "<td>{$record['created_at']}</td>";
echo "<td>{$record['updated_at']}</td>";
echo "</tr>";
}
echo "</tbody></table>";
// 10. Debugging-Ausgabe
$debugger->dump($allRecords, $db);
// Quellcode anzeigen
$scriptName = basename(__FILE__);
// Entferne die Exclude-Tags aus dem Quellcode
$scriptContent = file_get_contents(__FILE__);
$scriptContent = preg_replace('//s', '', $scriptContent);
?>
<?php require_once __DIR__ . '/../includes/footer.php'; ?>