EKKi: Datenbanktabelle als zweidimensionales Array ausgeben

Beitrag lesen

Mahlzeit maddinyo,

Die Zeichenkette @/@, die ich so gewählt habe, weil sie vergelichsweise kurz ist und sie wahrscheinlich kein Benutzer in einer Antwortmöglichkeit so darstellen möchte, markiert, wie schon kommentiert, die richtige Antwort, die ich später für die Auswertung brauche, denn so konnte ich mit der if-abfrage (if(strpos($frage[$i][$key], "@/@") === false){echo "0";}else {echo "1";}) einen value für die option definieren.

... und den Teilnehmern am Quiz gleich die Möglichkeit gegeben, im Quelltext die richtige Lösung nachzuschauen. Die Auswertung von Benutzereingaben (und dazu gehören auch Antworten auf Quizfragen) hat auf dem Server zu erfolgen - sonst nirgendwo. Ansonsten bist Du nicht gegen Manipulationen gefeit.

Deswegen sollte als Wert der möglichen Antworten auch ihre ID übergeben werden - nichts anderes. Dann kannst Du mittels der gegebenen Antwort und der in der Datenbank hinterlegten Zuordnung, welche Antwort richtig ist, prima herausfinden, ob die Antwort richtig war.

Als ersten brauchte ich zusätzlich eine Identifikationsspalte, in der jede Frage eine Zahl zugewiesen bekommt.

Wenn Du ein sinnvolles Datenbankdesign gewählt hast, hast Du sowieso einen eindeutigen Primärschlüssel (in der Regel numerisch) für jeden Eintrag jeder Tabelle.

Ansonsten gestaltete ich die Datenbanktabelle so, wie es aus dem Array her logisch schien.

Nein, falsche Herangehensweise. Gestalte die Tabelle(n) so, dass die Abhängigkeiten der einzelnen Datenbankobjekte korrekt abgebildet ist.

Ich habe allerdings einen sehr großen Zeitaufwand (vielleicht etwa 6 bis 7 Stunden) gebraucht (die Auswertung habe ich ja auch schon erstellt), da ich in Sachen PHP noch sehr unerfahren bin (ich habe vor etwa einem Monat angefangen), sodass ich ungern meine bisherige Struktur über den Haufen werfen würde.

Wenn die Struktur ungünstig ist bzw. damit gewisse Anforderungen nicht erfüllt werden können, ist es absolut irrelevant, wie lange Du dafür bisher gebraucht hast ...

Ich hoffe, ihr versteht nun meine Denkensweise mit dem Array und der Datenbankstruktur und könnt mir, da ihr nun genauer wisst, was ich vorhabe, auch genauere Tipps geben.

Die Datenbankstruktur, die Du kurz skizziert hattest, ist trotzdem - freundlich gesagt - unglücklich. Die drei Grundregeln beim Datenbankdesign sind Normalisieren, Normalisieren und Normalisieren.

MfG,
EKKi

--
sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|