phpbar.de logo

Mailinglisten-Archive

[php] xml vs mysql

[php] xml vs mysql

Peter Kursawe php_(at)_phpcenter.de
Wed, 6 Feb 2002 07:34:48 +0100


Hallo,
für ein Lernprogramm will ich Tests auf einem Server ablegen. Es gibt ca. 120
Tests.
Jeder Test besteht aus einer Frage und drei möglichen Antworten A1, A2, A3. Zu
jeder
Antwort gibt es genau eine Erläuterung E1, E2, E3. Schließlich gibt es zur
Frage noch
eine Vertiefung V, in der der Gesamtzusammenhang erklärt wird.

Alle Komponenten können längere Texte sein.

Der Ablauf soll so sein: User ruft Test auf. Es erscheinen Frage und die
möglichen
Antworten. Sie klickt eine Antwort und sieht die zugehörige Erläuterung. Dabei
erscheint
ein Button, der zur Vertiefung weiterleitet, wenn User das wünscht.

Alles klar?

Jetzt die Frage: Ich habe das komplett so realisiert, dass alle Einzelteile in
MySQL-
Tabellen drin stecken. Man muss sich nur irgendwo den Zusammenhang der
Schlüssel
merken, dann kann man das oben beschriebene Verhalten leicht implementieren.

Das Problem ist die Verteilung der Infos in die Datenbank. Der Autor schreibt
nämlich
alle hintereinander auf - in XML. Daraus die Datenbankeinträge so zu
produzieren, dass
alles noch schön zusammenhängt, funktioniert zwar, ist aber sehr aufwändig.
Und bei
Überarbeitungen wird es wirklich kompliziert.

Kann man das nicht besser mit XML zur Laufzeit machen? Dann würde ich einen
Test
als eine einzelne XML-Datei ablegen und zur Laufzeit aus dieser die Infos
holen.

Wie oft muss ich den Test parsen?

Entweder dreimal (wenn User Test anklickt, wenn er eine Antwort anklickt, wenn
er die
Vertiefung sehen will).

Oder nur einmal (wenn User Test anklickt) und dann _alle_ Komponenten in der
Session
speichern (kann viel Text sein - insgesamt 2-3 Tausend Zeichen). Dh wenn die
Antwort
bzw die Vertiefung gebraucht wird, kommen die dann aus der Session.

Ich benutze für die Sessions die PHPLib, dh die Session wird in MySQL
abgelegt.

Hat jemand eine Vorstellung davon, was effizienter ist? Es wird nämlich die
Zeit
kommen, wo die Tests von hunderten von Usern gleichzeitig absolviert werden:
Ist dann
die reine MySQL-Lösung besser? Oder die Drei-Mal-Parsen-Lösung? Oder die
Einmal-
Parsen-Session-Lösung?

Danke für Eure Geduld und für alle Hinweise ;-)

Peter Kursawe.


php::bar PHP Wiki   -   Listenarchive