Die schnelle Datenbanktabelle

Für viele Freiberufler und Unternehmen gehört die Arbeit mit Tabellen zum Alltag. Häufig hilft - oder behilft - man sich dafür mit Office-Programmen (Word, OpenOffice, LibreOffice etc.) Bei Daten, die nicht gedruckt sondern digital weiterverarbeitet werden sollen, z.B. für eine Verwendung im Internet, ist das höchst unpraktisch. Hier ist es zweckmäßiger, über eine Web-Oberfläche direkt mit einer Datenbank zu arbeiten.

Damit solche Arbeiten ökonomisch und auch ergonomisch erledigt werden können, sollten die Tools optimal für diese Aufgabe angepasst werden können. Standardtools (z.B. phpMyAdmin) für Datebanken, die für jede Tabelle dieselben Werkzeuge bereit stellen, sind denkbar ungeeignet und können in der Hand unerfahrener Mitarbeiter großen Schaden durch Datenverlust- oder -veränderungen heibeiführen.

Natürlich kann man für jede Tabelle ein eigenes Tool programmieren - oder nur wenig besser: eine Standardlösung kopieren und abwandeln. Wirtschaftlich ist das nicht. Schon vor mehr als zehn Jahren habe ich daher begonnen, Lösungen für die Bearbeitung von Tabellen in PHP zu programmieren, die für den jeweiligen Zweck konfiguriert werden können und die mit einfach zu ändernden Templates (HTML-Vorlagen mit Platzhaltern) arbeiten. Neben den Änderungswerkzeugen spielten auch Such- und Filtermöglichkeiten eine wichtige Rolle, die individuell erstellt werden aber einfach integriert werden konnten.

Dieses Grundkonzept habe ich jetzt übernommen und mit den modernen Möglichkeiten von PHP, JavaScript (AJAX), HTML und CSS von Grund auf neu programmiert.

Die Anpassung einer fiktiven Datentabelle, Mitglieder eines Minigolf-Clubs, soll in dieser Demo schrittweise gezeigt und erläutert werden. Für den Admin-Bereich ist ein Login erforderlich. Aus Sicherheitsgründen werden zwei verschiedene Tabellen verwendet und die Änderungen im Adminbereich regelmäßig zurück gesetzt. Melden Sie sich bitte mit Benutzer tableuser und Passwort: testuser an.

  • Abb. Tabelle 1
  • CRUD für Datenbanktabellen (PHP/MySQL)

    • Leichte Integration der Tabelle in vorhandene Webseite
    • Einfache Konfiguration in separater Datei
    • Anpassung der Darstellung über einfache HTML-Templates und CSS
    • Mehrere Tabellen pro Seite möglich
    • Zahlreiche Anwendungsmöglichkeiten
  • Abb. Tabelle 2
  • Suchen und Filtern nach Belieben

    • Beliebige Suchmöglichkeiten serverseitig definierbar
    • Einfache Anpassung der Filter-Vorlagen möglich
    • Filter kombinierbar
    • Validierung durch native PHP-Filter oder selbst programmierte Methoden
  • Abb. Tabelle 3
  • Bearbeitungsmöglichkeiten schnell angepasst

    • Konfigurierbare Update- und Einfüge-Möglichkeiten
    • Switch-Buttons zum Hin- und Herschalten von Werten (Ein/Aus)
    • Eigene Eingabetemplates möglich.
    • Ändern einzelner Felder möglich
    • Serverseitige Überprüfung der Berechtigungen

Bei diesem System geht es nicht darum, jede denkbare Problemstellung per Konfiguration erschlagen zu können sondern die Möglichkeiten für leichte Anpassungen in das System zu integrieren. So kann z.B. das Standard-HTML-Snippet für ein Tabellenfeld durch ein angepasstes Snippet ersetzt werden. Ebenso kann das Standardeingabefeld durch einen individuellen Bereich ersetzt werden, der es z.B. ermöglicht, weiter Daten aus anderen Quellen einzubinden. Eigene Filterfunktionen können individuell erstellt und per Konfiguration integriert werden.

Für viele Anwender dürfte interessant sein, dass eine Tabellenausgabe, mit oder ohne Bearbeitungstool, auch in eine bestehende statische HTML-Seite integriert werden kann, weil die Tabelle per JavaScript und AJAX-Request in die Seite eingebunden wird. Drei Anwendungsbeispiele:

  • Ein Autohaus will laufend seine aktuellen Angebote in einer Tabelle darstellen.
  • Ein Restaurant veröffentlicht die aktuelle Tageskarte
  • Ein Makler präsentiert seine Immobilien