0 votes
in SoSci Survey (dt.) by s144107 (140 points)

Hallo,

mir stellt sich folgendes Problem. Ich möchte bei der zweiten Frage einen Filter einbauen, welcher mir die Anzahl der Antworten einblendet die bei der ersten Frage eingegeben wurde.

Konkretes Beispiel:
Frage 1: Wie viele Kinder haben sie?
[Texteinfage offen - max. 15]

Frage 2: Bitte geben sie das Alter ihrer Kinder ein:
Kind/Enkelkind 1: [Skala mit 5 Antwortmöglichkeiten]
Kind/Enkelkind 2: [Skala mit 5 Antwortmöglichkeiten]
Kind/Enkelkind 3: [Skala mit 5 Antwortmöglichkeiten]

Angenommen in Frage 1 wird der Wert 3 eingegeben, sollen bei Frage 2 anschließend 3 weitere Antworten folgen. Bei 4 sollten 4 Anwortmöglichkeiten folgen.

Viele Grüße und vielen Dank im Voraus.

1 Answer

+1 vote
by SoSci Survey (330k points)
selected by s144107
 
Best answer

Erstellen Sie ein Array (Liste) mit den Nummern 1 bis X.

Nehmen wir einmal an, die erste Variable hat die Kennung AK01_01.

$kinder = (int)value('AK01_01');
$items = [];
for ($i=1; $i<=$kinder; $i++) {
  $items[] = $i;
}

Und dieses Array geben Sie nun als Parameter in den question()-Befehl. Wenn also Ihre zweite Frage die Kennung "AK02" hat...

question('AK02', $items);

Die Eingabefelder in der zweiten Frage müssen Sie natürlich vorab im Fragenkatalog als Items anlegen, sodass die Frage in der Vorschau mit 15 Zeilen angezeigt wird.

by s144107 (140 points)
Vielen Dank für die Antwort. Leider gibt mir dieser Code nur eine Antwortmöglichkeit zurück, d.h. wenn ich 3 Kinder habe, kann ich nur vom 3. Kind das Alter eingeben. Ich benötige jedoch in diesem Fall das Alter des 1. Kindes, des 2. Kindes und des 3. Kindes.
by SoSci Survey (330k points)
Bitte ergänzen Sie noch den folgenden PHP-Code und posten Sie dann die Debug-Information, die Sie für die Seite bekommen (komplette Debug-Information, rechts oben).

debug($items);
by s144107 (140 points)
[Information]    Interview Nummer 79 wird fortgesetzt
[Information]    Der Fragebogen base im Projekt test205941 wird verwendet
[Information]    Die Verweildauer auf Seite 21 war 4 Sekunden
[Verarbeitung]    Lese Antworten von Seite 21
[Information]    Antwort auf WS09_01 = 3
[Information]    Fragen bisher zu 100% vollständig beantwortet
[Verarbeitung]    Erstelle Seite 22 in Fragebogen base
[Information]    value("WS09_01") = 3
[Inhalt]    Erstelle Frage WS03
debug()    Inhalt: 03, 13, 23
by SoSci Survey (330k points)
Ähm, ja... Ich habe den Fehler oben korrigiert:

  $items[] = $kinder;

ist falsch, es muss wie folgt heißen:

  $items[] = $i;

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

...