Hallo,
ich habe am Anfang des Fragebogens eine Filterfrage, in der die Ernährungsweisen abgefragt werden. Wenn jemand beispielsweise vegan oder vegetarisch anklickt, werden gewisse Antwortoptionen von zukünftigen Fragen ausgeblendet. Es gibt z.B eine Folgefrage, die heißt: An welchen Kochkursen würden Sie teilnehmen: vegan (ja/nein), vegetarisch (ja/nein), saisonal (ja/nein) etc. Veganer erhalten die Frage zum veganen und vegetarischen Kochkurs nicht. Vegetarier nicht den vegetarischen Kochkurs.
Es werden so 35 Items in 6 Skalenfragen abgefragt, die immer mit ja/nein beantwortet werden können. Es werden durch die Filter etwa 3-6 Items ausgeblendet, wenn jemand z.B Veganer oder Vegetarier ist.
Das klappt auch soweit gut.
Danach gibt es jedoch eine Folgefrage, in der man die Items, die man mit "ja" beantwortet hat, angezeigt bekommen soll, um diese in eine Rangfolge zu bringen.
Ich habe dafür folgenden PHP Code genutzt:
if (value('IN05_01') == 1) { \\ 1 steht hier für ja
$items[] = 1; }
if (value('IN05_02') == 1) {
$items[] = 2; }
if (value('IN05_03') == 1) {
$items[] = 3; }
if (value('IN05_04') == 1) {
$items[] = 4; }
if (value('IN05_05') == 1) {
$items[] = 5; }
if (value('IN05_06') == 1) {
$items[] = 6; }
if (value('IN05_07') == 1) {
$items[] = 7; }
if (value('IN05_08') == 1) {
$items[] = 36; }
if (value('IN06_01') == 1) {
$items[] = 8; }
if (value('IN06_02') == 1) {
$items[] = 9; }
if (value('IN06_03') == 1) {
$items[] = 10; }
if (value('IN04_16') == 1) {
$items[] = 11; }
if (value('IN04_17') == 1) {
$items[] = 12; }
if (value('IN04_18') == 1) {
$items[] = 13; }
if (value('IN04_19') == 1) {
$items[] = 14; }
if (value('IN12_01') == 1) {
$items[] = 15; }
if (value('IN12_02') == 1) {
$items[] = 16; }
if (value('IN12_03') == 1) {
$items[] = 17; }
if (value('IN12_04') == 1) {
$items[] = 18; }
if (value('IN12_05') == 1) {
$items[] = 19; }
if (value('IN12_06') == 1) {
$items[] = 20; }
if (value('IN12_07') == 1) {
$items[] = 21; }
if (value('IN02_01') == 1) {
$items[] = 22; }
if (value('IN02_02') == 1) {
$items[] = 23; }
if (value('IN02_03') == 1) {
$items[] = 24; }
if (value('IN02_04') == 1) {
$items[] = 25; }
if (value('IN02_05') == 1) {
$items[] = 26; }
if (value('IN02_06') == 1) {
$items[] = 27; }
if (value('IN02_07') == 1) {
$items[] = 28;}
if (value('IN01_06') == 1) {
$items[] = 29;}
if (value('IN01_07') == 1) {
$items[] = 30; }
if (value('IN01_08') == 1) {
$items[] = 31; }
if (value('IN01_10') == 1) {
$items[] = 32; }
if (value('IN01_09') == 1) {
$items[] = 33; }
if (value('IN01_11') == 1) {
$items[] = 34; }
if (value('IN01_12') == 1) {
$items[] = 35; }
question('IN14', $items);
An sich funktioniert der Code für Teilnehmende, die alle 35 Frageitems erhalten haben und diese mit ja/nein beantworten konnten.
Er funktioniert jedoch nicht bei den Vegetarieren und Veganern, da diese ja nicht alle Items angezeigt und beantwortet haben, weil dadurch nicht für alle Items Werte vorhanden sind.
Es erscheint zudem eine Fehlermeldung, wenn kein einziges Item mit "ja" beantwortet wurde. Dann werden alle Items zusammen mit einer Fehlermeldung angezeigt.
Würde mich über Hinweise und Lösungsvorschläge freuen!
Danke!