Hallo!
Ich konnte inzwischen das Problem eingrenzen. Ich habe paar Rotationen in meiner Studie und die hatten ursprünglich auch mal funktioniert. Das Problem scheint erst aufzutreten, seit ich bei den meisten Fragebögen einen PHP-Code eingefügt habe, dass immer nur ein Item pro Seite angezeigt werden soll (für lange Fragebögen finde ich das angenehmer zu bedienen). Die beiden Sachen scheinen sich irgendwie nicht zu vertragen. Das Problem tritt deswegen bei den Audiodateien auf, da diese als Pakete (Instruktion - Audio - Fragebogen) rotiert werden.
Im Debug-Modus wird mir z.B. korrekt angezeigt: "Entsprechend setPageOrder() werden nun folgende Seiten gezeigt:
17 [ATTPraeAesthe], 14 [ATTPraeErfahru], 15 [ATTPraeInteresse], 16 [ATTPraeKultur], 18 [AReA]"; aber dann werden paar von den Fragebögen trotzdem übersprungen.
Ich kann leider den Fehler nicht ausfindig machen, könnten Sie mir da helfen? Ich verwende folgende PHP-Codes:
Zum Rotieren der Fragebögen:
//Rotation der folgenden Seiten festlegen
if (!isset($seiten1)) {
// Liste der Seiten definieren
$seiten1 = array('ATTPraeErfahru','ATTPraeInteresse','ATTPraeKultur','ATTPraeAesthe');
// Liste mischen
shuffle($seiten1);
// Die Seite ergänzen, wo es nachher weiter geht
$seiten1[] = 'AReA';
// Reihenfolge zwischenspeichern, um spätere Änderung zu vermeiden
registerVariable($seiten1);
}
setPageOrder($seiten1);
Damit nur 1 Item pro Seite angezeigt wird:
// Das isset() vermeidet, dass die Rotation etwa wg. fehlenden Antworten verändert wird
if (!isset($itemsEG07)) {
// Alle Items der Frage EG07 auflisten
$itemsEG07 = getItems('EG07', 'all');
// Liste Mischen
shuffle($itemsEG07);
// Die Liste in Teillisten à 1 Items teilen
$itemsEG07 = array_chunk($itemsEG07, 1);
// Die Variable für andere Seiten verfügbar machen
registerVariable($itemsEG07);
}
// Die Items über mehrere Seiten verteilt anzeigen
$i = loopPage(count($itemsEG07));
question('EG07', $itemsEG07[$i]);
Vielen Dank!