0 votes
in SoSci Survey (dt.) by s130397 (170 points)
edited by SoSci Survey

Liebes SoSci Survey Support-Team,

hier meine Frage zur Programmierung einer Schleife: Ich habe einen Fragebogen mit mehreren Fragen. Für diese können die Ausprägungen 1-4 ausgewählt werde. Teilnehmerinnen können nur eine oder mehrere Fragen beantworten.
Ich versuche nun eine Schleife zu programmieren, die diejenigen Teilnehmer
innen aussortiert, die eine oder mehrere Fragen ausschließlich in der geringsten Ausprägung (also 1) beantwortet haben. Sobald eine Frage mit einer höheren Ausprägung dabei ist, kann es ganz normal weitergehen. Meine Idee war Folgende:

$gewaehlt = getItems('NE01','min',2);  //NE ist der Fragebogen
if (count($gewaehlt)==1 ); {
    text ('SCVA');  //SCVA ist mein Text mit der individuellen Verabschiedung
    buttonHide();
    pageStop();
} else {
    setPageOrder('D0');  // D0 ist der nächste Fragebogen
}

Ist dieser Ansatz korrekt? Und ich weiß leider immer noch nicht, wie ich programmieren kann, dass die Befragung nur beendet werden soll, wenn ausschließlich Ausprägungen von 1 angegeben werden?

Vielen Dank im Voraus

1 Answer

0 votes
by SoSci Survey (304k points)

Schon nahe dran ... aber getItems() liefert Ihnen eine Liste der Items, auf die eine Bedingung zutrifft. Das heißt, Sie müssten prüfen, ob der Befehl gar nichts zurückgibt:

if (count($gewaehlt) == 0 ) {

Und achten Sie darauf, dass vor der geschweiften Klammer kein (!) Semikolon stehen darf. Sonst klappt es nicht.

Wenn Sie es für mehrere Fragen prüfen möchten, dann würde das mit einer Schleife z.B. wie folgt aussehen:

$anyBlank = false;
foreach (['AB01', 'AB02', 'AB03'] as $frage) {
  $gewaehlt = getItems($frage, 'min', 2);
  if (count($gewaehlt) == 0) {
    $anyBlank = true;
  }
}

if ($anyBlank) {
  // Screenout
}
by s130397 (170 points)
Vielen Dank für die hilfreichen Hinweise, hat funktioniert!

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

...