Nochmals zum Abspeichern der Fragenreihenfolge (Punkt 1) von oben):
Ich habe 15 Fragen, deren Reihenfolge randomisiert sein soll. Die zufällig generierte Reihenfolge soll abgespeichert werden.
Gemäß folgender Anleitung haben ich...
https://www.soscisurvey.de/help/doku.php/de:create:functions:put#beispielrandomisierung_i
1. Eine interne Variable mit 15 Ausprägungen erstellt
2. Je eine Seite pro Frage erstellt
3. Eine Seite vor den 15 Frage-Seiten erstellt, auf der ich folgenden Code (gemäß der Anleitung) platziert habe.
$pages = array('CM01','CM02','CM03','CM04','CM05','CM06','CM07','CM08', 'CM09', 'CM10', 'CM11', 'CM12', 'CM13', 'CM14', 'CM15');
// Die Seiten nicht direkt mischen, sondern deren Positionen
$indices = array_keys($pages);
shuffle($indices);
// Nun die Ränge speichern - und die neue Abfolge der Seiten in $random speichern
$random = array();
for ($i=0; $i<count($indices); $i++) {
// Rang speichern wie oben
$id = id('CM18', $indices[$i] + 1);
put($id, $i + 1);
// Seite in der Abfolge speichern
$random[$i] = $pages[$indices[$i]];
}
// Neue Seitenabfolge setzen
setPageOrder($random);
CM01-15 stehen für die jeweiligen Seiten, CM18 ist meine interne Variable.
Leider erreiche ich das Ergebnis nur teilweise: Die 15 Fragen werden nun zufällig dargestellt. Wird jedoch nicht CM15 (die letzte Seite) tatsächlich auch als letzte Seite angezeigt, werden die Fragen entsprechend der aufsteigenden Seitenreihenfolge angezeigt.
Randomisierung mit CM15 als letzte Frage:
(Seite) (Frage)
(1) 14
(2) 06
(3) 05
(...) ...
(15) 15 -> Frage endet
Randomisierung mit CM15 nicht als letzte Frage:
(Seite) (Frage)
(1) 14
(2) 06
(3) 05
(...) ...
(15) 10 -> Frage endet nicht und die bereits gezeigten Fragen 11 bis 15 werden erneut dargestellt
(16) 11
(17) 12
(18) 13
(19) 14
(20) 15