Die Erde ist eine Scheibe … dieser fehlerhaften Auffassung ist ein Großteil der Menschheit mittlerweile entwachsen. Leider ist die mehrdimensionale Denkweise in Rechnern immer noch ein Problem. Vor allem in einem der modernsten Kommunikationsmittel überhaupt. Das WWW ist bestenfalls noch zweidimensional, aber eigentlich ja noch nicht mal das.
Jetzt werden einige einwenden, dass ein Bildschirm doch schon immerhin mal 2 Dimensionen (Breite und Höhe) mitbringt, und es auch schon Ansätze für dreidimensionale Videos im Netz gibt – alles recht und schön – nur das Datenformat HTML ist leider so flach wie man es sich nur irgend vorstellen kann. Es sollte halt möglichst universell und einfach sein – so war einmal die Philosophie.
Schlecht gefahren ist man damit nicht – vor allem in der Anfangszeit des Netzes war es auch mehr als ausreichend – lästig wird die flache Struktur, wenn man nicht mehr nur die Anzeige einer Seite betrachtet sondern an Web-Applikationen denkt.
Altbekannt ist den meisten Leuten das Dilemma mit den Tabellen – jeweils eine Zeile und dann die Spalten Stück für Stück füllen. Soweit ja kein Problem und mit vergleichsweise wenig Aufwand lässt sich auch aus jeder mehrdimensionalen Struktur (z.B. einer Datenbank) eine „plattgeklopfte“ Variante erzeugen die für die Anzeige taugt.
Umgekehrt wird es aber ungemütlich – ich habe es beruflich immer wieder mit tabellenförmigen Daten zu tun, die auch als solche am leichtesten intuitiv eingegeben werden können. Klassisches Beispiel ist die Relation von Mitarbeitern und deren geleisteten Arbeitsstunden – im allgegenwärtigen Excel würde man kurzerhand hergehen und je nach Gusto in die Zeilen die Personen und in die Spalten die Tage des zu betrachtenden Zeitraums eintragen, wahlweise geht es natürlich auch mit vertauschten Rollen zwischen Zeilen und Spalten. Aber: Jede Zelle in Excel lässt sich wunderbar über Zeile und Spalte adressieren. In HTML gibt es für entsprechende Formularlemente nur einen Referenz-Wert: Das name-Tag – denn nur dieses wird als Schlüssel für die serverseitige Auswertung geliefert, immer ein Satz Tupel. Zwar gibt es gerade in PHP Vereinfachungen auf Basis der Benennung um beispielsweise multiple-Choice etwas leichter zu machen, aber das hilft auch nur bei Ankreuz-Antworten.
Was bleibt ist eine eigene Logik zu erstellen nach der die Felder benannt werden und dann anhand dieser die Felder eindeutig zu kennzeichen – z.B. mittel AxB wobei A und B beliebige ganze Zahlen sind. Das macht auf der Serverseite oder auch im JavaScript natürlich wieder jede Menge Aufwand. Ein anderer Weg ist mir derzeit aber nicht bekannt. Ich frage mich, mit welcher Version von HTTP und/oder HTML endlich vernünftige Möglichkeiten geschaffen werden mehrdimensionale Eingaben standardisiert zu behandeln.
Wie gesagt: So selten sind mehrdimensionale Daten in der realen Welt gar nicht – sie ist ja bekanntlich auch keine Scheibe.