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

Hallo zusammen,

ich möchte Teilnehmer mit einem Quiz ihr Wissen testen lassen, am Ende soll eine kurze Bewertung erscheinen: Sie haben ... von ... Punkten erreicht, was ich mit beigefügtem Code erreicht habe. Der Code bezieht sich auf 9 von 10 Fragen, bei denen stets nur eine Antwort richtig ist, und dafür hat er auch funktioniert. Allerdings gibt es eine Frage, bei der 3 Antworten ausgewählt werden müssen, um sie richtig gemacht zu haben (nennt sich Frage Q012 mit den richtigen Antworten 01 03 und 04). Ich habe versucht dies mit der Anleitung zu Multiple Choice Fragen zu lösen, was aber nicht funktioniert hat. Daher: Wie und an welcher Stelle muss ich eine Programmierung einfügen, damit auch diese Mehrfach-Frage analysiert und ausgewertet werden kann, sodass am Ende erscheinen kann: Sie haben 10 von 10 Punkten erreicht? Bisher wurde mit jedem Code, den ich probiert habe, trotz richtiger Antwortauswahl nur immer angezeigt: 9 von 10 Punkten.

Vielen Dank !!

$fragen = array(

  'Q001' => 1,
  'Q003' => 4,
  'Q004' => 4, 
  'Q006' => 1,
  'Q007' => 1,
  'Q008' => 2,
  'Q009' => 3, 
  'Q016' => 1,
  'Q017' => 1,
);
$points = 0;


foreach ($fragen as $variable=>$correct) {
  $answer = value($variable);
  if ($answer == $correct) {
    $points++;
  }
}

// Das Ergebnis anzeigen ...
html('<p>Sie haben <b>'.$points.' Punkte </b> von 10 möglichen Punkten erzielt.</p>');

if ($points < 4) {
  text('feedback03');
} elseif ($points < 7) {
  text('feedback46');
} elseif ($points < 9) {
  text('feedback78');
} elseif ($points = 9) {
  text('feedback910');
} elseif ($points = 10) {
  text('feedback910');

}

1 Answer

0 votes
by SoSci Survey (326k points)

Da es sich nur um eine Frage handelt, würde ich hier nach der foreach-Schleife einfach einen kleinen Filter einbauen:

$checkedQ012 = getItems('Q012', 'is', 2);
if ((count($checkedQ012) == 3) and ($checkedQ012 == array(1,3,4)) {
  $points+= 1;
}

Diese Code prüft, ob in Frage Q012 die drei Optionen 1, 3 und 4 ausgewählt sind - und ob auch wirklich nur 3 Optionen ausgewählt wurden. Wenn ja, dann wird zur $points noch ein hinzugezählt.

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

...