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

Ich möchte einen PHP-Filter erstellen, aber komme trotz ausgiebigem Einlesen auf der SoSci-Survey Seite, ChatGPT etc. nicht weiter.
In der Grundstruktur wäre es einfach:
if (value('RV03_01') == 1) {
goToPage('EW01');
}

Tatsächlich sollen aber ALLE WERTE der Frage RV03 (also RV03_01 bis RV03_15) == 1 UND ALLE WERTE der Frage RV05 (also RV05_01 bis RV05_14) == 2
UND die Fragen RV10_01 UND RV12_01 nicht ausgefüllt
sein um zur Seite EW01 zu springen.

Ich bekomme den Filter einfach nicht gebastelt. Kann mir bitte jemand helfen? Vielen Dank im Voraus!!!!

by s109993 (12.6k points)
was für ein Fragetyp ist das?
by s312700 (110 points)
Jetzt habe ich es hinbekommen, danke trotzdem!

1 Answer

0 votes
by SoSci Survey (347k points)

ALLE WERTE der Frage RV03 (also RV03_01 bis RV03_15) == 1

Das prüfen Sie am einfachsten über getItems()

if (count(getItems('RV03', '!=', 1)) ==  0)

ALLE WERTE der Frage RV05 (also RV05_01 bis RV05_14) == 2

if (count(getItems('RV05', '!=', 2)) ==  0)

die Fragen RV10_01 UND RV12_01 nicht ausgefüllt

Wie der Filter aussieht, hängt vom Fragetyp ab, das könnte bei einer offenen Texteingabe sein:

if ((value('RV10_01') == '') && (value('RV12_01') == ''))

Das jetzt noch alle zusammen:

if (
    (empty(getItems('RV03', '!=', 1))) &&
    (empty(getItems('RV05', '!=', 2))) &&
    (value('RV10_01') == '') &&
    (value('RV12_01') == '')
) {
    goToPage('EW01');
}

Und wenn es nicht funktioniert, dann ergänzen Sie darüber noch ein

debug(getItems('RV03', '!=', 1));
debug(getItems('RV05', '!=', 2));

und werfen Sie auf alle Fälle einen Blick in die Debug-Information.

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

...