hi
Ich hab für sowas mal ein konzept gemacht, aber da ich solche tests nie gebraucht habe, ist es nie verwirktlicht worden.
Prinzipiell sind solche tests ne recht komplizierte sache, zumindest wenn due sie vernünftig realisieren willst (dass du jederzeit über ein Webinterface neue tests machen kannst)
Ich werde das jetz nur mal von der Datenbankseite aufziehen, die programmierseite ist nicht so wichtig, das ist kein großes problem, das einzige problem ist das user-interface dafür:
Du brauchst eine Tabelle
Tests_master
Die enthält ne master ID, den titel des Tests, ne kurzbeschreibung, usw. Dann brauchst du ne Tabelle Test_questions
Die hat wieder ne ID, dann hat sie einen verweis auf eine test_questions.masterID (damit klar wird, zu welchem test die frage gehört). Zusätzlich muss in dieser tabelle auch die frage gespeichert werden.
Jetzt gibt es eine weitere tabelle: test_answers: Jede Answer hat eine ID, und einen verweis auf die Frage, zu der sie gehört, außerdem muss sie die eigentliche antwort enthalten und eine "Score" (ich mach das nach dem punkte prinzip: verschiedene antworten bringen verschieden viele punkte; jenachdem wie viel punkte du hast, dementsprechend sieht das resultat aus!). Die aktuellen Punkte musst du in einer Session speichern, genauso wie die bereits beantworteten Fragen.
Na gut, und dann hast du noch eine Test_results tabelle, die hat wieder nen primärschlüssel, eine referenz auf eine masterID (damit die auswertungen einem test zugeordnet werden können)
dann hat sie noch die felder min_score und max_score. Die geben an, für welchen punktebereich diese auswertung gilt. und natürlich muss in der auch noch die auswertung selbst enthalten sein.
Das ist es auch "schon" im großen und ganzen. Du kannst dann natürlich solche spielchen hinzufügen wie optionale fragen (pass auf: wenn jemand eine frage nicht beantwortet, bekommt er dadurch keine punkte, d.h. dass die auswertung falsch beeinflusst wird; in dem fall musst du für die auswertung die punkte durch die anzahl der fragen dividieren oder sowas)
Außerdem wäre es optional möglich, für manche Fragen checkboxen vorzusehen, anstelle von radiobuttons.
Naja, das script ist glaub ich noch in alle ewigkeiten erweiterbar ;) Sollte das jetz sehr unklar beschrieben sein, bitte entschuldige, aber ich bin ziemlich müde...
|