Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
de:create:functions:looppage [27.07.2019 22:45]
admin
de:create:functions:looppage [17.09.2019 14:01]
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 einer 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 präsentieren 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