0 votes
in SoSci Survey (dt.) by s097051 (120 points)
edited by SoSci Survey

Hallo,

meine Frage betrifft die Filterung nach offener Texteingabe. Ich möchte nach Klassenzugehörigkeit FIltern, den 5 Klassen sollen einige Fragen nicht angezeigt werden, den übrigen schone. Die Klassenzugehörigkeit wird in einer offenen Texteingabe abgefragt, daher habe ich es mich intval-Filterung versucht und folgenden Filter geschrieben:

$eingabe = intval(value('AS09_01'));
if ($eingabe = 5) {
text ('MN12');
question ('MN04');
text ('MN13');
question ('MN01');
question ('MN02');
question ('MN03');
}
else {
  text ('MN012');
question ('MN04');
text ('MN013');
question ('MN01');
question ('MN02');
question ('MN03');
question ('MN09');
}

Leider greift nur der erste Part, nicht aber der zweite.
Ich habe es auch mit der Alternative if ($eingabe > 5) anstelle von else versucht, aber das hat auch nicht funktioniert.

Kann mir hier jemand weiterhelfen?

Vielen Dank und viele Grüße

by SoSci Survey (330k points)
> Die Klassenzugehörigkeit wird in einer offenen Texteingabe abgefragt

Was genau fragen Sie denn da - und was erwarten sie als Antworten? Wenn Sie wirklich beliebige Antworten (z.B. "mittlere Unterschicht mit Tendenz nach oben") erlauben würden, dann gäbe es da schon sehr viele Möglichkeiten?!
by s097051 (120 points)
Ah, Verzeihung, da habe ich mich missverständlich ausgedrückt.
Klasse ist als Schulklasse gemeint, also fünfte Klasse. Eingetragen werden also 5,7 und 9 Klasse, mit einem beliebigen Buchstaben der die spezifische Klasse im Klassenzug angibt. Sofern ich die PHP-Funktion (intval) richtig verstanden habe, spielt der Buchstabe dann keine Rolle mehr, sondern der Fokus liegt auf der Zahl die eingetragen ist.

Hier betrifft es eine Kürzungsbestrebung. Der Fragebogen muss für die Fünftklässler*innen gekürzt werden und daher sollen einige der folgenden Fragen nicht angezeigt werden.
Für die siebten und neunten Klassen sollen dagegen Fragen auftauchen.

1 Answer

0 votes
by SoSci Survey (330k points)

Sofern ich die PHP-Funktion (intval) richtig verstanden habe, spielt der Buchstabe dann keine Rolle mehr, sondern der Fokus liegt auf der Zahl die eingetragen ist.

Die Funktion intval() versucht, aus einem Text eine Zahl zu machen. Man könnte es auch ein wenig anspruchsvoller machen, aber für den Hausgebrauch sollte diese Funktino ausreichen.

Wenn das alles ist, dann ist Ihr Problem wahrscheinlich schnell zu lösen. Und zwar fehlt m.E. nur ein zweites Gleichheitszeichen:

if ($eingabe == 5) {

Das einfache Gleichheitszeichen weist einen Wert zu, das doppelte vergleicht. Ein gerne gemachter Fehler, wenn man mit dem Programmieren von Filtern beginnt.

by s097051 (120 points)
Vielen lieben Dank! Das hat das Problem gelöst. Typischer Anfängerfehler, auf  den ich in Zukunft achten werde.

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

...