Liebes SoSci Survey Online Support-Team,
in einer Umfrage möchte ich Antworten aus einer offenen Nennung auf den danach folgenden Seiten über Platzhalter verwenden, um Fragebogenitems anzupassen. Dazu habe ich zwei Fragen bzw. Probleme.
Frage 1:
Die Probanden sollen auf Seite 1 zunächst über die offenen Nennung ihre Studienfächer angeben. Manche studieren 2 unterschiedliche Fächer, andere sogar 3. Anschließend sollen den Studierenden pro Studienfach auf den darauffolgenden Seiten jeweils ein adaptierter Fragebogen angezeigt werden, d.h., wenn man 2 Studienfächer hat, sollen 2 Folgefragebögen angezeigt werden; wenn man 3 Studienfächer hat, entsprechend 3 Folgefragebögen.
Bevor auf Seite 2 die Items für das erste Studienfach dargestellt werden, habe ich den folgenden PHP-Code eingefügt, um die Platzhalter zu definieren:
$frage = 'SF01';
$items = array();
for ($i=1; $i<=3; $i++) {
$itemID = id($frage, $i);
$antwort = value($itemID);
if (trim($antwort) != '') {
replace('%fach'.$i.'%', $antwort);
$items[] = $i;
}
}
Auf Seite 2-4 sind die Items so strukturiert:
Seite 2: Text text %fach1% text text text.
Seite 3: Text text %fach2% text text text.
Seite 4: Text text %fach3% text text text.
Dieses Vorgehen funktioniert fehlerfrei, wenn die Probanden 3 Fächer eingeben. Wenn man jedoch nur 2 Fächer eingibt, bekomme ich folgende Warnung:
"Für den Platzhalter %fach3% wurde weder ein Eingabefeld mit prepare_input() vorbereitet, noch ein Inhalt mit replace() festgelegt."
Danach werden die Items für den 3. Fragebogen mit dem Platzhalter %fach3% angezeigt. Dieser Fragebogen soll aber gar nicht erst angezeigt werden, wenn die Studis nur 2 Studienfächer haben.
Wie kann ich das lösen?
Frage 2:
Auf den nächsten Seiten sollen dann nochmal weitere Fragebögen angezeigt werden, wenn bestimmte Bedingungen erfüllt sind:
(1) Wenn in den offenen Nennungen auf Seite 1 nicht die Fächer "Deutsch" oder "Mathematik"/"Mathe" genannt wurden, sollen die Fragebögen auf den Seiten 5 und 6 angezeigt werden.
(2) Wenn nicht "Deutsch" genannt wurde, soll der Fragebogen auf Seite 5 angezeigt werden.
(3) Wenn nicht "Mathematik"/"Mathe" genannt wurde, soll der Fragebogen auf Seite 6 angezeigt werden.
Ansonsten sollen die Fragebögen auf den Seiten 5 und 6 nicht angezeigt werden.
Wie könnte ich diese konditionale Verschachtelung programmieren?
Vielen Dank im Voraus!