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 '' | ||