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

Hallo,

für meine Bachelorarbeit brauche ich dringen Hilfe bei einem PHP-Filter in meiner Umfrage.

Wenn bei Frage A202 NICHT Item 5 UND bei Frage 204 NICHT Item 1 UND auch bei Frage 204 Item 4 angekreuzt wird, würde ich die Umfrage gern beenden. Leider weiß ich weder ob "!=" noch ob "goTopage" (da gibt mir das System eine Warnung aufgrund der Groß- und Kleinschreibung) richtig ist.

Das ist was ich bisher probiert habe aber nicht zum gewünschten Ergebnis führt:

if (
((value('A202') != 5))
and
(value('A204') != 1)
and
(value('A204') == 4))
{goTopage('end');}

Ich würde mich so sehr über Hilfe freuen!
Vielen Dank im Voraus.

1 Answer

0 votes
by SoSci Survey (327k points)

Das sieht auf den ersten Blick so schlecht nicht aus. Ich würde statt dem goToPage() eher einen Screenout mit pageStop() empfehlen, weil man dann einen anderen Text zeigen kann - aber sonst ... was sagt denn die Debug-Information auf der Seite, wenn Sie die Screenout-Antworten gegeben haben? Posten Sie die Debug-Information gerne als Kommentar.

by s253582 (110 points)
Danke für die schnelle Rückmeldung. Ich habe die Programmierung nochmal leicht angepasst.

Jetzige Programmierung:

if (
((value('A202') != 5)) and (value('A204') == 4))
{goToPage('end');}

Das, was nicht funktioniert ist, dass wenn man Item 5 bei Frage A202 auswählt und dann Item 4 bei Frage 204, dass der Fragebogen dann weiterläuft. Es scheint also vielleicht etwas an dem "!=" falsch zu sein? Wenn ich die oben genannten Antworten auswähle erscheint das im Debug:

[Information]    Interview Nummer 65 wird fortgesetzt
[Information]    Der Fragebogen base im Projekt Umfrage_Birkenstock wird verwendet
[Information]    Die Verweildauer auf Seite 5 war 5 Sekunden
[Verarbeitung]    Lese Antworten von Seite 5
[Information]    Antwort auf A204 = 4
[Information]    Bedingung in Filter A204/1 ist nicht erfüllt.
[Information]    Fragen bisher zu 100% vollständig beantwortet
[Verarbeitung]    Erstelle Seite 6 in Fragebogen base
[Information]    value("A202") = 1
[Information]    value("A204") = 4
[Verarbeitung]    Springe zum Ende der Befragung
[Verarbeitung]    Erstelle die letzte Seite des Fragebogens

Hier frage ich mich, warum der Value(A202) = 1 ist. Der steht laut der Variablen-Übersicht für nicht ausgewählt. Aber wenn ich (wie in der Variablenübersicht) value('A202') != A202_05 eingebe, dann bekomme ich eine große Fehlermeldung.
by SoSci Survey (327k points)
> Hier frage ich mich, warum der Value(A202) = 1 ist.

Was sagt denn die "Variablen-Übersicht" zu A202.

Meine Vermutung wäre, dass die Reihenfolge der Antwortoptionen nach dem Anlegen verändert wurde. SoSci Survey unterscheidet hier sauber zwischen der ID (=Code der Antwortoption) und der Position in der Ausgabe.
by s253582 (110 points)
Ich habe es nun tatsächlich geschafft. Falls aber mal jemand die selbe Frage hat, hier mein funktionierender Code:

if (
((value('A202_05') == 1)) and (value('A204') == 4))
{goToPage('end');}

Das ließ sich jetzt gut aus der Variablen-Übersicht ableiten. Vielen Dank für die ganze Hilfe!

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

...