Lieber borisbaer,
Du verwendest zwar eine Datenbank, aber nur für Teilaufgaben der Datenhaltung?
Meine Lösung sieht so aus: Die HTML-Tabelle generiert sich aus Daten einer JSON-Datei und einer Datenbank-Tabelle. In der JSON-Datei stehen dann z.B. „Titel“, „Erscheinungsjahr“ usw. (also statische Werte) und in der Datenbank-Tabelle wird gemanagt, welchen Wert ein bestimmter input zu dem entsprechenden Release-Eintrag hat („habe ich“, „habe ich nicht“, „kein Interesse“).
Ein Mischmasch von Datenbank und JSON-Dateien. Warum nur willst Du das genau so haben? Der Vorteil beim Einsatz einer Datenbank ist ja gerade, dass man Bezüge herstellen kann. Deswegen sind die Daten aus den JSON-Dateien besser in der DB aufgehoben, natürlich in einer anderen Tabelle.
Diese Vorgehensweise macht es für mich nötig, IDs manuell in der JSON-Datei zu vergeben.
Das ist der Beweis dafür, dass Deine Vorgehensweise völliger Quatsch ist. Die ID-Werte soll die Datenbank schön selbst verwalten. Dann klappt das auch mit der Konsistenz der Daten.
Womöglich kann man das besser lösen, doch das übersteigt meine aktuellen Kenntnisse.
Genau dafür ist ja das Forum da. Mein Vorschlag:
Tabelle releases
mit den Spalten
id
(Primärschlüssel, integer, auto_increment)game
(varchar 250)date
(date)
Tabelle user
login
(Primärschlüssel, varchar 250)pw
(varchar 200)email
(varchar 250)
Tabelle attitudes
id
(Primärschlüssel, integer, auto_increment)attitude
(varchar 250)
Tabelle gaming
(da hast Du sicherlich einen besseren Namen)
id
(Primärschlüssel, integer, auto_increment)user
(varchar 250) <- bezieht sich aufuser
.login
release
(integer) <- bezieht sich aufreleases
.id
interest
(integer) <- bezieht sich aufattitudes
.id
Die Tabelle releases
soll der Datenstruktur Deiner JSON-Dateien entsprechen. Die Tabelle gaming
ist die eigentliche Zuordnung von User, Release und Interesse. Anstatt hier magic numbers
für das jeweilige Interesse zu wählen, kann man das auch mit einer passenden Werte-Tabelle (hier attitudes
) verknüpfen.
Mein Beispiel ist sicher unvollständig, aber hoffentlich kann es wenigstens zeigen, wie Deine Daten allesamt in die DB gehören.
Das Schreiben der passenden Klassen zum Verwalten der jeweiligen Tabellen und ihren Daten ist dann Stoff für eine abgeleitete Diskussion.
Liebe Grüße
Felix Riesterer