Mit der Microsoft Access Datenbank habe ich viele Jahre mein Trainingstagebuch geführt. Durch die überwiegende Ablösung des PC durch den Mac mini hatte ich die Datenbank nach MariaDB migriert und als Frontend Libre Office Base genutzt. Das ist zwar keine Verschlechterung zu vorher, ist aber trotzdem geräteabhängig.
Da die Daten schon über die auf dem Ubuntu Server laufende MariaDB im Heimnetz verfügbar sind, hat es Sinn gemacht, ein Web Frontend zu schreiben, damit ich auf die wesentlichen Daten auch von Mobilgeräten zugreifen und die häufigsten Dateneingaben darüber machen kann.
Hierfür ist HTML und PHP das Mittel der Wahl. HTML macht die Ein- und Ausgabe, PHP die Verarbeitung und Kommunikation mit MariaDB über SQL Statements. Dabei stößt man auch zwangsläufig auf verknüpfte Auswahlfelder, weshalb auch etwas jScript von Nutzen ist. Natürlich habe ich nichts selbst erfunden, sondern die passenden Bausteine aus diversen Internetquellen entsprechend genutzt.
Geärgert habe ich mich nur über unzureichende Tools beim Schreiben der Seiten. Auf der Linux Kommandozeile unterstützt nano kaum die Fehlersuche und ständiges Cut&Paste von PC oder Mac ins Terminal ist anstrengend. Wenn ich hier häufiger arbeiten sollte, müsste ich doch mal über eine passende Entwicklungsumgebung nachdenken, statt im Livesystem herumzuwerkeln. Vielleicht kann man damit auch ansprechende Formulare und Tabellen erzeugen, „nackter“ HTML Code mit wenig CSS sieht arg nach frühen 00er Jahre aus …
Jedenfalls habe ich jetzt eine hübsche Verwaltung meines Weinkellers online und kann die Trainingsdaten in einem zweiten Browserfenster neben Garmin Connect eingeben und den Fortschritt überprüfen.
1. Update: mit eclipse habe ich jetzt einen viel besseren PHP Editor, der offensichtliche Fehler anzeigt und alles hübsch formatiert. 95% der Möglichkeiten nutze ich natürlich nicht, ein paar Features fehlen mir aber (sftp geht nur über Plug-in, Dateihierarchie wird nicht angezeigt [welche Datei verweist auf welche andere Datei?], extern definierte Variablen werden mit Warning versehen). Mal schauen, vielleicht gibt es eine ähnliche, aber schlankere Lösung. Jedenfalls bin ich jetzt RocketCake ganz los.