Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Letzte Überarbeitung Beide Seiten der Revision
de:create:functions:looppage [27.07.2019 22:45]
admin
de:create:functions:looppage [17.09.2019 14:00]
admin
Zeile 4: Zeile 4:
  
 ''​int **loopPage**(int //​Wiederholungen//​)''​ ''​int **loopPage**(int //​Wiederholungen//​)''​
 +
 +''​mixed **loopPage**(array //​Elemente//​)''​
  
 Wiederholt die Seite -- beginnend mit dem //​Startwert//​ -- in einer Schleife so oft, bis der //Endwert// erreicht ist. Der jeweils aktuelle Wert wird zurückgegeben. Wiederholt die Seite -- beginnend mit dem //​Startwert//​ -- in einer Schleife so oft, bis der //Endwert// erreicht ist. Der jeweils aktuelle Wert wird zurückgegeben.
Zeile 11: Zeile 13:
   * //​Inkrement//​\\ (optional) Veränderung des Wertes bei jedem Schleifendurchlauf (Standard: 1) -- mit dem //​Inkrement//​ 0 können Sie eine unendliche Schleife erzeugen, die mittels ''​setNextPage('​next'​)''​ beendet werden kann.   * //​Inkrement//​\\ (optional) Veränderung des Wertes bei jedem Schleifendurchlauf (Standard: 1) -- mit dem //​Inkrement//​ 0 können Sie eine unendliche Schleife erzeugen, die mittels ''​setNextPage('​next'​)''​ beendet werden kann.
  
-Falls nur ein Parameter (//​Wiederholungen//​) angegeben ist, wird die Seite so oft wie angegeben wiederholt. Die Zählvariable beginnt in diesem Fall mit 0.+Falls nur ein numerischer ​Parameter (//​Wiederholungen//​) angegeben ist, wird die Seite so oft wie angegeben wiederholt. Die Zählvariable beginnt in diesem Fall mit 0.
  
   * //​Wiederholungen//​\\ Anzahl der Wiederholungen   * //​Wiederholungen//​\\ Anzahl der Wiederholungen
 +
 +
 +Falls nur ein Array als Parameter (//​Elemente//​) angegeben ist, wird die Seite für jedes Element des Arrays einmal angezeigt und die Funktion ''​loopPage()''​ gibt jeweils das Element des Arrays zurück.
 +
 +  * //​Elemente//​\\ Elemente, die durchlaufen werden sollen
  
 **Hinweis:​** Um mehrere Seiten zu wiederholen,​ verwenden Sie ''​[[looptopage]]''​. **Hinweis:​** Um mehrere Seiten zu wiederholen,​ verwenden Sie ''​[[looptopage]]''​.
Zeile 19: Zeile 26:
 **Hinweis:​** Beispiel-Code zur Verwendung finden Sie in der Anleitung zu ''​[[looptopage]]''​. **Hinweis:​** Beispiel-Code zur Verwendung finden Sie in der Anleitung zu ''​[[looptopage]]''​.
  
-===== Beispiel =====+===== Beispiel: Alle Fragen eine Rubrik in zufälliger Abfolge ===== 
 + 
 +<code php> 
 +if (!isset($fragen)) { 
 +  // Liste aller Fragen aus Rubrik RS 
 +  $fragen = getQuestions('​RS'​);​ 
 +  // Die Liste der Fragen (Array) mischen und zwischenspeichern 
 +  shuffle($fragen);​ 
 +  registerVariable($fragen);​ 
 +
 +// Alle Kennungen aus der Liste $fragen abarbeiten 
 +$frage = loopPage($fragen);​ 
 +question($frage);​ 
 +</​code>​ 
 + 
 + 
 +===== Beispiel: Fragen in zufälliger Abfolge II =====
  
 <code php>// PHP-Code auf einer der ersten Seiten im Fragebogen <code php>// PHP-Code auf einer der ersten Seiten im Fragebogen
Zeile 34: Zeile 57:
 question($fragen[$i]);​ question($fragen[$i]);​
 </​code>​ </​code>​
 +
 +In diesem Beispiel wird die Liste der Fragen bereits weiter vorne im Fragebogen definiert und gemischt. Dadurch entfällt die IF-Konstruktion mit ''​isset()'',​ welche im obigen Beispiel ein erneutes Mischen der Liste verhindert.
 +
 +
 +===== Beispiel: Fragen in zufälliger Abfolge mit Verweildauer =====
  
 **Hinweis:​** Weil dieselbe Seite immer wieder angezeigt wird, werden die Antwortzeiten für alle Wiederholungen addiert. Falls Sie die Bearbeitungszeiten getrennt erheben möchten, müssen Sie anstatt ''​loopPage()''​ mehrere Seiten verwenden. **Hinweis:​** Weil dieselbe Seite immer wieder angezeigt wird, werden die Antwortzeiten für alle Wiederholungen addiert. Falls Sie die Bearbeitungszeiten getrennt erheben möchten, müssen Sie anstatt ''​loopPage()''​ mehrere Seiten verwenden.
 +
 +<code php>// PHP-Code auf einer der ersten Seiten im Fragebogen
 +// Liste mit Fragen erstellen, mischen und zwischenspeichern
 +$fragen = array(
 +  '​AB01',​ '​AB02',​ '​AB03',​
 +  '​AB04',​ '​AB05',​ '​AB06'​
 +);
 +shuffle($fragen);​
 +registerVariable($fragen);</​code>​
  
 <code php>// PHP-Code später im Fragebogen - Seite 21 <code php>// PHP-Code später im Fragebogen - Seite 21
de/create/functions/looppage.txt · Zuletzt geändert: 17.09.2019 14:01 von admin
 
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: CC Attribution-Share Alike 4.0 International
Driven by DokuWiki