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