Wenn ich Sie korrekt verstehe, haben Sie 90 einzelne Fragen angelegt? Dann benötigen Sie erst einmal eine Liste dieser 90 Fragen:
$fragen = array(
'AB01', 'AB02', 'AB03', 'AB04', ...,
'BC01', 'BC02', 'BC03', 'BC04', ...,
);
Natürlich können Sie diese Liste auch einfach anhand der Rubriken erstellen:
$fragen = array_merge(
getQuestions('AB'),
getQuestions('BC'),
// u.s.w.
);
Dann nur noch mischen und in Blöcke á 18 Kennungen aufteilen.
shuffle($fragen);
$order = array_chunk($fragen, 18);
Und das Ganze abarbeiten:
$i = loopPage(count($order));
foreach ($order[$i] as $qID) {
question($qID);
}
Noch ein isset()
und ein registerVariable()
und fertig ist der Code:
if (!isset($order)) {
$fragen = array_merge(
getQuestions('AB'),
getQuestions('BC'),
// u.s.w.
);
shuffle($fragen);
$order = array_chunk($fragen, 18);
registerVariable($order);
}
$i = loopPage(count($order));
foreach ($order[$i] as $qID) {
question($qID);
}
Das war es schon - Sie benötigen nur eine einzige Fragebogen-Seite mit diesem PHP-Code.