1. How to Media

1.1 SQL ist eine >=50 Jahre alte, aber nach wie vor eine der massgebenden Datenbanksprachen zur Definition von Datenstrukturen in relationalen Datenbanken und darin in einfachen Tabellen sowie zum Bearbeiten und Abfragen von darauf basierenden Datenbeständen = Zahlen und Text.

1.2 Ein Bild wiegt heute als digitales Negativ schnell einmal 6MB, ein hochauflösendes, mit einem guten Smartphone aufgenommenes Kurz-Video, schnell einmal 1GB. Eine einzige solche Datei würde eine Datenbank heillos überfordern.

Bild 1

Bild 2

Bild 3
Bedeutet: Mediendateien, d.h. ▸Töne (hier 'Bild 2' bei soundcloud.com (oder mit einem JavaScript Play/Pause) in einer/dieser Webseite), ▸Bilder und ▸Videos (hier 'Bild 3' bei ▸streamable.com) werden extern, und lediglich deren Link und/oder embed code in der Tabelle gespeichert. Bilder unverdächtigen Inhalts können bei einem (Bild 1 ist bei diesem ▸Gratis-Anbieter gespeichert werden.

Die function heisst carousel - im absoluten Idealfall sind alle Bilder gleich gross (in diesem Beispiel sind sie's nicht ganz). Stört aber nur, weil sich der Text darunter vertikal leicht 'bewegt'. Der JavaScript ist von Grok - könnte auch von Lumo oder Claude oder ... sein.


2. How to Database

Du hast eine Domain samt Hosting samt Datenbank - falls die Verbindung klappt: ▸ Connected successfully.

Der Script sieht so aus:
<?php
$servername = "";
$username = "";
$password = "";

// Create connection
$conn = new mysqli($servername, $username, $password);

// Check connection
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}
echo "<font color=green>Connected successfully</font>";
?>
Nun kannst du entweder in der Datenbank eine neue Tabelle eröffnen oder mit dem nachfolgenden Script (den du vermutlich anpassen willst) eine Tabelle eröffnen lassen und dabei irgend ein LLM nach dem entsprechenden Script fragen.

<?php
// Database connection parameters
$servername = "localhost";
$username = "Benutzername";
$password = "Passwort";
$dbname = "Name der Datenbank";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

// SQL to create table
$sql = "CREATE TABLE Tabellenname (
    id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    prename VARCHAR(50) NOT NULL,
    address VARCHAR(50),
    contact VARCHAR(100)
)";

if ($conn->query($sql) === TRUE) {
    echo "Table table-name created successfully";
} else {
    echo "Error creating table: " . $conn->error;
}

// Close connection
$conn->close();
?>
Und dann gilt es nur noch, die Formulare für neue Datensätze, für das Finden und Anzeigen und allenfalls Editieren bestehender Datensätze zu schreiben resp. mit Lumo & Co. schreiben zu lassen.

Der Script zur Auslese von Daten sieht z.B. so aus.
$sql = "SELECT `name`, `email` FROM `table name` 
ORDER BY CASE WHEN id = '1' THEN 0 ELSE 1 END, id DESC";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
  while($row = $result->fetch_assoc()) { 
  	echo '<div class="name">'.$row["name"]."</div>";

} else {
  echo "0 results";
}
$conn->close();