0 votes
in SoSci Survey (dt.) by s096993 (125 points)

Sehr geehrte Damen und Herren, hiermit würde ich gerne meine Frage in Bezug auf folgendes Problem einreichen und zwar: wie stelle ich die Prüfung auf Antwort im folgenden Beispiel ein? Da sind mehrere Mehrfachauswahlfragen kombiniert und es ist wichtig, dass zu allen Personen Angaben gemacht werden. Wenn eine Person übersprungen wird, gibt es keine Meldung. Könnte jmd helfen?

Danke sehr im Voraus,
Anna

1 Answer

+1 vote
by SoSci Survey (309k points)

Hier ist eine individuelle Antwortprüfung erforderlich.

Konkret benötigen Sie einen PHP-Code, der für jedes Item prüft, ob min. ein Kreuzchen gesetzt wurde.

$missing = [];
foreach (getItems('SN03', 'all') as $item) {
  $any = false;
  foreach (array('SN03', 'SN04', 'SN05', 'SN06', 'SN07') as $question) {
    if (value(id($question, $item)) == 2) {
      $any = true;  // Min. ein Kreuzchen gesetzt
    }
  }
  if (!$any) {
    $missing[] = $item;
  }
}

if (count($missing) > 0) {
  foreach ($missing as $item) {
    markFail(id('SN03', $item));
  }
  repeatPage();
}

Zugegene, das ist aufgrund der beiden verschachtelten FOREACH-Schleifen nicht ganz einfach zu lesen. Die obere Hälfte des Codes geht alle Items (und für jedes Item alle Fragen) durch und prüft, ob irgendwo ein Kreuzchen ist. Wenn ein Item kein Kreuzchen hat, wird es im Array $missing vermerkt.

Der untere Teil prüft, ob fehlender Items vermerkt wurden und markiert diese als fehlend.

asked Aug 7, 2018 in SoSci Survey (dt.) by s096993 (125 points) Fehlermeldung bei PHP-Code.

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

...