0 votes
in Methoden-Fragen by s195319 (125 points)

Hallo zusammen,

ich stehe vor folgendem Problem: Ich möchte auf Basis der von den Teilnehmenden ausgewählten Items mehrere Folgefragen anzeigen lassen.

Dafür habe ich folgenden PHP-Code erstellt:

// Abfrage Eingaben aus SV01 und Anzeige der relevanten Fragen
if (value('SV01_01') == 2) {
    question('SV02');
} elseif (value('SV01_02') == 2) {
    question('SV03');
} elseif (value('SV01_03') == 2) {
    question('SV04');
} elseif (value('SV01_04') == 2) {
    question('SV05');
} elseif (
    (value('SV01_01') == 2) && 
    (value('SV01_02') == 2)
) {
    question('SV02');
    question('SV03');
}

Das Anzeigen der einzelnen Folgefragen funktioniert einwandfrei. Allerdings bereitet mir der letzte Code-Abschnitt Probleme. Ich habe vermutet, dass ich die zwei Bedingungen mittels logischer Operatoren verknüpfen kann, sodass dann die entsprechenden Fragen angezeigt werden. Nun ist es allerdings so, dass bei der Auswahl der Items SV02_01 sowie SV02_02 lediglich die Frage SV02 angezeigt wird.

Ist die logische Verknüpfung zu einfach gedacht oder ist in meinem Code-Beispiel ein Fehler drin?

Vielen Dank für die Hilfe!

1 Answer

0 votes
by SoSci Survey (308k points)
selected by s195319
 
Best answer

Der Knackpunkt ist, dass ein elseif nur dann zum Zuge kommt, wenn die vorigen Bedingungen nicht erfüllt sind. Sie haben also zwei Möglichkeiten:

(A) Sie können einfach nur mehrere if untereinander stellen

if (value('SV01_01') == 2) {
    question('SV02');
}
if (value('SV01_02') == 2) {
    question('SV03');
}

(B) Sie können den Teil mit der verknüpften Bedingung nach vorne ziehen, sodass diese vor den einzelnen Bedingungen geprüft wird.

by s195319 (125 points)
Vielen Dank für die schnelle Antwort, hat funktioniert. Dadurch ist der Code ja auch bedeutend einfacher! :)

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

...