Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungLetzte ÜberarbeitungBeide Seiten der Revision | ||
de:create:functions:setpageorder [14.11.2016 19:59] – alte Version wieder hergestellt (03.11.2016 16:37) admin | de:create:functions:setpageorder [19.12.2017 09:05] – [PHP-Code] 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 95: | Zeile 98: | ||
$seiten[] = ' | $seiten[] = ' | ||
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 '' |