0 votes
in SoSci Survey (dt.) by s096975 (130 points)

Ich habe einen Zufallsgenerator, der aus einer Auswahl von Fragen nur eine bestimmte Anzahl zufällig stellt. Ich möchte auf der folgenden Fragebogenseite gerne den Punktwert berechnen, den die Teilnehmer durch die Beantwortung der gestellten Fragen erreicht haben.
Dafür habe ich folgendes programmiert:

//Definition korrekter Antworten
$Punkte = array(
  'AS01' => 1,
  'AS02' => 1, 
  'AS03' => 1, 
  'AS04' => 2, 
  'AS05' => 2, 
//u.s.w. hier habe ich alle Fragen bzw korrekten Antworten aus dem Pool definiert
);

//Initialiesierung einer Zähler-Variable
$points = 0

//Antworten werten
foreach ($Punkte as $variable=>$correct) {
$answer = value($variable);
if ($answer == $correct) {
$points++;
}
}

Das Problem ist jetzt nur, dass mir eine Fehlermeldung angezeigt wird, da ich im Array alle Fragen drin hab, aber davon nicht alle im Fragebogen vorher gestellt wurden, sondern immer nur eine zufällige Auswahl. Die value() Funktion funktioniert daher nicht.

Gibt es eine Möglichkeit nur Punktwerte für vorher gestellte Fragen zu errechnen und die anderen zur Berechnung des Punktwertes zu ignorieren?

1 Answer

0 votes
by SoSci Survey (303k points)

Es gibt eine relativ einfache Lösung: Ignorieren Sie die Warnungen. Es sind nur Warnungen, die Sie auf mögliche Probleme hinweisen sollen - und die Teilnehmer bekommen diese nicht zu Gesicht.

Und dann gibt es eine anspruchsvollere Lösung: Prüfen Sie in der foreach-Schleife, ob eine Frage angezeigt wurde - und nur dann lassen Sie den Inhalt laufen. Da ich den Code für die Randomisierung (weiter vorne) nicht kenne, kann ich hier nicht konkreter werden.

Willkommen im Online-Support von SoSci Survey.

Hier bekommen Sie schnelle und fundierte Antworten von anderen Projektleitern und direkt von SoSci Survey.

→ Eine Frage stellen


Welcome to the SoSci Survey online support.

Simply ask a question to quickly get answers from other professionals, and directly from SoSci Survey.

→ Ask a Question

...