0 votes
in SoSci Survey (dt.) by s157101 (130 points)
edited by SoSci Survey

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!

1 Answer

+1 vote
by SoSci Survey (327k points)
selected by s157101
 
Best answer

d.h., wenn man 2 Studienfächer hat, sollen 2 Folgefragebögen angezeigt werden; wenn man 3 Studienfächer hat, entsprechend 3 Folgefragebögen.

Sehen Sie sich dazu bitte als erstes einmal diese Möglichkeit an:
Multi-Level Struktur

Wenn man jedoch nur 2 Fächer eingibt, bekomme ich folgende Warnung

Ich würde die Lösung aus der oben genannten Anleitung empfehlen. Aber Sie können stattdessen auch die Zeile zum dritten Fach ausblenden: Items in eine andere Frage übernehmen - oder wenn es zum ganze Abschnitte im Fragebogen geht, würden Sie den Abschnitt überspringen, wenn dazu keine Angabe gemacht wurde, vgl. Seiten überpringen.

if (trim(value('SF01x01')) == '') {
  goToPage('fach2');
}

Auf den nächsten Seiten sollen dann nochmal weitere Fragebögen angezeigt werden, wenn bestimmte Bedingungen erfüllt sind:

Formulieren Sie die Bedingungen einfach negativ: Also, unter welchen Bedingungen soll die Seite 5 und unter welchen Bedingungen die Seite 6 übersprungen werden. Das können Sie dann als Filter formulieren und einfach oben auf die Seite setzen.

by s157101 (130 points)
Vielen Dank für die schnelle Antwort! Damit hat es wunderbar geklappt.

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

...