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

0 votes

Hallo,
ich habe in meinem Fragebogen 8 Blöcke (A-H) und je Block 5 Fragen/Seiten(A1-A5, B1-B5 etc). Die Blockrandomisierung sieht wie folgt aus:

$parts = array(
  'A' => 'A1-A5',
  'B' => 'B1-B5',
  'C' => 'C1-C5',
  'D' => 'D1-D5',
  'E' => 'E1-E5',
  'F' => 'F1-F5',
  'G' => 'G1-G5',
  'H' => 'H1-H5',
  
);
// Die Schlüssel des obigen Arrays mischen
$keys = array_keys($parts);
shuffle($keys);
// Das Array sieht nun z.B. so aus: A, D, I, C, B, L, H,
 
// Jetzt noch die Seitenabfolge definieren
setPageOrder(
  $parts[$keys[1]],  // $keys[1] ist z.B. 'B' und $parts['B'] ist 'B1-B5'
  $parts[$keys[2]],
  $parts[$keys[3]],
  $parts[$keys[4]],
  $parts[$keys[5]],
  $parts[$keys[6]],
  $parts[$keys[7]],
  
 
  'check'
);

Nun möchte ich aber zusätzlich, dass die jeweils erste Seite eines Blockes immer zu erst angezeigt wird (also fest bleibt) und die nachfolgenden vier Seiten randomisiert innerhalb des Blocks präsentiert werden. Deshalb habe ich immer auf der ersten Seite eines Blocks folgenden Code verwendet (Bsp für Block1): Auf seite A1 ist folgender Code:

if (!isset($pages)) {
  $pages = array('A2', 'A3', 'A4', 'A5');
  shuffle($pages);
  $pages[] = 'B1';
  registerVariable($pages);
}
setPageOrder($pages);

Dies habe ich für jeden Block nachfolgend angepasst.
Wenn ich den Fragebogen durchgehe wird mir zufällig ein Block angezeigt und innerhalb dessen sind auch die Seiten randomisiert, aber nach dem einen Block bin ich dann am Ende des Fragebogens und die restlichen Blöcke und deren Seiten werden weggelassen.
Wie kann ich das Problem lösen?
Liebe Grüße
Benjamin

in SoSci Survey (dt.) by s064504 (195 points)
edited by SoSci Survey

1 Answer

0 votes

Ich habe Ihnen hier einen Abschnitt in der Anleitung ergänzt, der den notwenigen PHP-Code gleich dokumentiert:

setPageOrder() -> Zufällige Abfolge II

by SoSci Survey (223k points)
...