0 votes
in SoSci Survey (dt.) by s235272 (320 points)

Sehr geehrte Damen,

ich habe in meinem Fragebogen eine kombinierte Frage bei der in drei offenen Textfeldern Ziffern eingetragen werden sollen (0 bis unendlich möglich). In meinem Fragebogen sollen Teilnehmende, die in die Textfelder eine 0 eintragen mehrere Fragen überspringen können, da für die die weiteren Fragen nicht relevant sind. Sollten die Personen jedoch mindestens eine "1" oder höher ein eines der Textfelder schreiben werden noch verschiedene Zwischenfragen/Filterfragen angezeigt. Um diesen Wunsch umzusetzen habe ich folgenden PHP-Code geschrieben und direkt vor den anderen PHP-Code mit der kombinierten Frage geschoben:

if ($zahl== > 0) {
setPageOrder('D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, F1, F2, F3, F4, F5, F6, F7, F8, F9, G1, end');} 
elseif ($zahl== 0) {
setPageOrder('D1, E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, F1, F2, F3, F4, F5, F6, F7, F8, F9, G1, end');}

Im ersten Fall werden bei Zahlen, die größer als 0 sind mehrere Filterfragen ausgelöst, die im zweiten Fall nicht angezeigt werden.
Der PHP-Code befindet sich aktuell auf der Seite, bevor die kombinierte Frage ausgelöst wird wo die Zahlen 0-unendlich eingetragen werden können (auf der Seite mit den kombinierten Fragen hat es leider mit dem neuen PHP-Code (siehe oben) auch nicht funktioniert.

Leider erhalte ich bei dem Code jedesmal eine rot umrandete Fehlermeldung:

Könnten Sie mir sagen, wo der Fehler bei meinem Code liegen könnte, um o.g. Szenario hinzubekommen?
Könnten sich die verschiedenen PHP-Codes (die zur kombinierten Frage als auch die mit der o.g. Filterführung) gegenseitig aufheben oder blockieren?

1 Answer

0 votes
by SoSci Survey (306k points)

Könnten Sie mir sagen, wo der Fehler bei meinem Code liegen könnte,

Die Fehlermeldung stamm aus dieser Zeile:

if ($zahl== > 0) {

jedoch mindestens eine "1" oder höher ein eines der Textfelder schreiben

Wenn Sie das testen möchten, müssten Sie getItems() verwenden.

$any = getItems('TX01', '>', 0);
if (!empty($any)) {

Der PHP-Code befindet sich aktuell auf der Seite, bevor die kombinierte Frage ausgelöst wird wo die Zahlen 0-unendlich eingetragen werden können

Also die Abfolge muss sein: Seite mit der Abfrage, Seite mit dem PHP-Code mit setPageOrder(), Seiten die in setPageOrder() genannt werden. Optional können dazwischen noch weitere Seiten stehen.

Sie haben in der Seitenabfolge sehr viele Seiten angegeben. Worin unterscheiden sich diese denn? Womöglich ist Ihre Fragebogenstruktur hier nicht ganz optimal...

Ich verweise auch darauf, dass Sie hier anhand eines einzigen Filters den kompletten weiteren Pfad vorgeben. Das passt nicht ganz zu Ihrer Beschreibung, dass Sie Seiten überpringen möchten.

by s235272 (320 points)
Vielen Dank, Sie konnten mir sehr weiterhelfen :)
Der Tipp mit dem Befehl oben hat zu dem gewünschten Ergebnis geführt. Besten Dank und herzliche Grüße

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

...