Hallo, ich habe eine Frage bezüglich der zufälligen Abfolge von Blöcken in meinem Fragebogen. Jeder Block besteht aus zwei Seiten:
z.B. Seite 1 :
$code = value('R001');
if ($code == 1) {
text('F002');
} elseif ($code == 2){
text('D002');
}
und Seite 2:
if (!isset($fragen1)) {
$fragen1 = array(
'F101',
'F102',
'F103',
'F104',
'F105',
'F106'
); shuffle($fragen1);
registerVariable($fragen1);
}
$i = loopPage(count($fragen1));
question($fragen1[$i]);
Insgesamt gibt es 18 von diesen Blöcken in meinem Fragebogen. Für die Rotation der Blöcke habe ich jeweils die Kennung der ersten Seiten mit B1Start, B2Start etc. und die der zweiten Seiten mit B1End, B2End, etc. eingetragen und folgenden PHP-Code definiert:
if (!isset($blocks)) {
// Liste der Seiten definieren
$blocks = array(
array('B1Start-B1End'),
array('B2Start-B2End'),
array('B3Start-B3End'),
array('B4Start-B4End'),
array('B5Start-B5End'),
array('B6Start-B6End'),
array('B7Start-B7End'),
array('B8Start-B8End'),
array('B9Start-B9End'),
array('B10Start-B10End'),
array('B11Start-B11End'),
array('B12Start-B12End'),
array('B13Start-B13End'),
array('B14Start-B14End'),
array('B15Start-B15End'),
array('B16Start-B16End'),
array('B17Start-B17End'),
array('B18Start-B18End'));
// Liste mischen
shuffle($blocks);
// Die Seite ergänzen, wo es nachher weiter geht
$blocks[] = 'SD';
// Reihenfolge zwischenspeichern, um spätere Änderung zu vermeiden
registerVariable($blocks);
}
setPageOrder($blocks);
und diesen auf die Seite vor der 1.Seite des 1.Blocks gesetzt. In der Vorschau funktioniert es auch, dass die Blöcke in zufälliger Reihenfolge angezeigt werden. Allerdings sind es nicht alle 18, sondern viel weniger. Was muss ich verändern, damit mir alle 18 Blöcke zufällig angezeigt werden ? Bin leider noch Anfänger in SosciSurvey.
Für eine Antwort wäre ich sehr dankbar. Liebe Grüße