0 votes
in SoSci Survey (dt.) by s192648 (110 points)

Hallo,
ich möchte in meinem Fragebogen einen Punkt für jede richtige Antwort vergeben.
Bei Einfachauswahl klappt das gut, nach der Anleitung Punkte für Antworten zählen.

Wenn jedoch bei einer Mehrfachauswahl mehrere Antworten JEWEILS einen Punkt bringen sollen, scheitere ich.

 // Definition der Fragen und der korrekten Antworten
$fragen = [
  'BW01' => 1,  // In Frage BW01 ist 1 die richtige Antwort
  'BW02' => 1,  // In Frage BW02 ist 1 die richtige Antwort
  'BW03' => 1,  // 
  'BW04' => 1,2,3,4,5,6,  // In Frage BW04 sind die Antworten 1 bis 6 jeweils richtig. 
  // u.s.w.
];
 
// Initialisierung einer Zähler-Variable
$points = 0;
 
// Prüfung aller Fragen in einer Schleife
foreach ($fragen as $variable=>$correct) {
  // Die Antwort des Teilnehmers abrufen
  $answer = value($variable);
  // Überprüfen und ggf. einen Punkt zählen
  if ($answer == $correct) {
    $points++;  // Gleichbedeutend mit $points = $points + 1
  }
}
 
// Das Ergebnis anzeigen ...
html('<p>Sie haben '.$points.' Punkte erzielt.</p>');
// ... oder in einer internen Variable speichern
// put('IV01_01', $points);

Ich würde mich sehr über Hilfe für die richtige Syntax freuen.
DANKE!

1 Answer

0 votes
by SoSci Survey (308k points)

Eine Möglichkeit besteht darin, dass Sie jede Variable der Mehrfachauswahl einzeln aufführen:

$fragen = [
  'BW01' => 1,  // In Frage BW01 ist 1 die richtige Antwort
  'BW02' => 1,  // In Frage BW02 ist 1 die richtige Antwort
  'BW03' => 1,  // 
  'BW04_01' => 2,
  'BW04_02' => 2,
  'BW04_03' => 2,
  'BW04_04' => 2,
  'BW04_05' => 2,
  'BW04_06' => 2,
  // u.s.w.
];

Man kann es natürlich auch eleganter machen, dann wird es aber ein wenig anspruchsvoller, weil Ihr Code zum Zählen dann zwischen Einfach- und Mehrfachauswahlfragen unterscheiden muss.

by s192648 (110 points)
Danke vielmals!

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

...