Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
de:create:functions:setpageorder [14.11.2016 19:59] – alte Version wieder hergestellt (03.11.2016 16:37) admin | de:create:functions:setpageorder [04.06.2022 09:35] (aktuell) – admin | ||
---|---|---|---|
Zeile 27: | Zeile 27: | ||
**Hinweis: | **Hinweis: | ||
- | ===== Beispiel 1 ===== | + | Nachfolgend wird die Verwendung von '' |
+ | |||
+ | |||
+ | ===== Zwei mögliche Abläufe | ||
Folgendes Szenario soll mittels '' | Folgendes Szenario soll mittels '' | ||
Zeile 59: | Zeile 62: | ||
- | ===== Beispiel 2 ===== | + | ===== Zufällige Abfolge I ===== |
Im Befragungsprojekt gibt es 5 Seiten, die in zufälliger Reihenfolge angezeigt werden sollen. | Im Befragungsprojekt gibt es 5 Seiten, die in zufälliger Reihenfolge angezeigt werden sollen. | ||
Zeile 75: | Zeile 78: | ||
$seiten = array(' | $seiten = array(' | ||
shuffle($seiten); | shuffle($seiten); | ||
- | $seiten[] = ' | ||
registerVariable($seiten); | registerVariable($seiten); | ||
} | } | ||
- | setPageOrder($seiten); | + | // Die Seitenabfolge festlegen und die Seite, wo es anschließend weitergeht |
+ | setPageOrder($seiten, ' | ||
</ | </ | ||
Zeile 93: | Zeile 96: | ||
$seiten = array(' | $seiten = array(' | ||
shuffle($seiten); | shuffle($seiten); | ||
- | $seiten[] = 'PX'; | + | // Die Seitenabfolge festlegen und die Seite, wo es anschließend weitergeht |
- | setPageOrder($seiten); | + | setPageOrder($seiten, ' |
+ | </ | ||
+ | |||
+ | |||
+ | ===== Zufällige Abfolge II ===== | ||
+ | |||
+ | In diesem Beispiel gibt es 3 Blöcke (A, B, C) mit 3 bis 5 Seiten (A1, A2, A3, B1, ...). Die Reihenfolge der Blöcke soll zufällig gemischt werden und zusätzlich sollen innerhalb jedes Blocks die Seiten gemischt werden -- nur die erste soll immer zu Beginn bleiben. | ||
+ | |||
+ | **Hinweis: | ||
+ | |||
+ | ==== Vorbereitung ==== | ||
+ | |||
+ | Wenn die einzelnen Seiten rotiert werden sollen, benötigt jede Seite eine eigene [[: | ||
+ | |||
+ | ==== PHP-Code ==== | ||
+ | |||
+ | <code php> | ||
+ | // Erst einmal die Seitenkennungen als Array speichern | ||
+ | $rotation = array( | ||
+ | | ||
+ | ' | ||
+ | ' | ||
+ | ); | ||
+ | // Jeden Block einzeln mischen | ||
+ | foreach ($rotation as $key => $pages) { | ||
+ | // Die erste Seite aus dem Array $pages herausnehmen | ||
+ | $first = array_shift($pages); | ||
+ | // Den Rest mischen | ||
+ | shuffle($pages); | ||
+ | // Beides wieder zusammenfügen | ||
+ | array_unshift($pages, | ||
+ | // Und in das Array $rotation zurückspeichen | ||
+ | $rotation[$key] = $pages; | ||
+ | } | ||
+ | |||
+ | // Jetzt noch die Reihenfolge der Blöcke zufällig mischen | ||
+ | shuffle($rotation); | ||
+ | |||
+ | // Jetzt das Ergebnis noch als Seitenabfolge festlegen | ||
+ | // Weiter soll es anschließend mit Seite ' | ||
+ | setPageOrder($rotation, ' | ||
</ | </ | ||
- | ===== Beispiel 3 ===== | + | ===== Reihenfolge speichern |
Im Befragungsprojekt gibt es fünf thematische Frageblöcke. Der Einfachheit halber wurden diese in die Rubriken '' | Im Befragungsprojekt gibt es fünf thematische Frageblöcke. Der Einfachheit halber wurden diese in die Rubriken '' |