Kein Problem, Sie können die Items (bzw. Optionen) ja im Befehl question()
einfach angeben. Die einfache Lösung sähe also wie folgt aus:
if (!isset($items6)) {
$items = getItems('AB01', 'all');
shuffle($items);
$items6 = array_slice($items, 0, 6);
registerVariable($items6);
}
question('AB01', $items);
Das isset()
und registerVariable()
ist nur dafür da, damit sich die Auswahl nicht ändert, wenn die Seite nochmal angezeigt wird. Etwa weil der Teilnehmer nichts ausgewählt hat.
So ... aber jetzt haben Sie möglicherweise das Problem, dass Sie die Optionen vermutlich gleich häufig anbieten möchten. Und vermutlich möchten Sie auch speichern, welche Optionen Sie angeboten haben. Daher würde ich ein anderes Vorgehen empfehlen.
Legen Sie einen Zufallsgenerator (z.B. RG01) mit den Zetteln 1..21 an und stellen Sie ein, dass pro Interview 6 Zettel gezogen werden sollen. Und dann unter dem Zufallsgenerator platzieren Sie im Fragebogen folgenden PHP-Code:
$items = valueList('RG01');
question('AB01', $items);
Das Ganze "Außenrum" erledigt der Zufallsgenerator intern, daher ist der Code ein wenig kürzer.