Übersetzungen dieser Seite:
 

Dies ist eine alte Version des Dokuments!


loopPage()

int loopPage(int Startwert, int Endwert, [int Inkrement])

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.

  • Startwert
    Der Wert beim ersten Durchlauf
  • Endwert
    Der Wert beim letzten Durchlauf
  • 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 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

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: Beispiel-Code zur Verwendung finden Sie in der Anleitung zu loopToPage().

Beispiel: Alle Fragen einer Rubrik in zufälliger Abfolge

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);

Beispiel: Fragen in zufälliger Abfolge präsentieren II

// 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);
// PHP-Code später im Fragebogen
$i = loopPage(6);  // 6 Wiederholungen - äquivalent zu loopPage(0,5)
question($fragen[$i]);

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.

// 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);
// PHP-Code später im Fragebogen - Seite 21
question($fragen[0]);
 
// PHP-Code auf Seite 22
question($fragen[1]);
 
// u.s.w.
 
// PHP-Code auf Seite 26
question($fragen[5]);
de/create/functions/looppage.1568721688.txt.gz · 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