0 votes
in SoSci Survey (dt.) by s137708 (170 points)

Hallo,

für die Rotation meines Fragebogens nutze ich momentan folgenden PHP Code:

 if (!isset($seitenSS1)) {

  $seitenSS1 = array('SS1','SS2','SS3','SS4','SS5','SS6','SS7','SS8','SS9','SS10','SS11','SS12','SS13','SS14','SS15','SS16','SS17','SS18','SS19','SS20','SS21','SS22','SS23','SS24');
  shuffle($seitenSS1);
  $seitenSS1[] = 'GS1';
  registerVariable($seitenSS1);
}
setPageOrder($seitenSS1);

Wir haben in unserer Studie jedoch Attention Checks eingebaut, die immer in der Mitte jedes Fragebogen-Teils auftreten sollen (3 Teile insgesamt, jeder einzeln mit SetPageOrder rotiert). Ich würde also gerne festlegen, dass zusätzlich zu der Rotierung (s.o.) eine bestimmte Seite ('SSatt') immer nach 12 Fragen im jeweiligen Block auftauchen soll. Ist das möglich?

Viele Grüße

1 Answer

0 votes
by SoSci Survey (306k points)

Lassen Sie die Seite zunächst in der Liste weg - und dann nutzen Sie array_slice() und array_merge(), um die Setei an der gewünschten Stelle einzufügen:

if (!isset($seitenSS1)) {
  $seiten = array('SS1','SS2','SS3','SS4','SS5','SS6','SS7','SS8','SS9','SS10','SS11','SS12','SS13','SS14','SS15','SS16','SS17','SS18','SS19','SS20','SS21','SS22','SS23','SS24');
  shuffle($seitenSS1);
  $seitenSS1 = array_merge(
      array_slice($seiten, 0, 12),  // Die ersten 12 Seiten
      ['SSatt'],  /// Die "fixe" Seite
      array_slice($seiten, 12),  // Alle weiteren Seiten aus der gemischten Liste
      ['GS1']  // Die Seite, wo es danach weitergeht
  );
  registerVariable($seitenSS1);
}
setPageOrder($seitenSS1);
by s137708 (170 points)
edited by SoSci Survey
Super, das hat klasse funktioniert!
Lieben Dank und einen schönen Feierabend.

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

...