Hallo,
ich habe eine Befragung durchgeführt und musste am Ende feststellen, dass auf einer bestimmten Seite immer nur die Hälfte der Antworten gespeichert wurde.
Insgesamt sollten 16 Fragen auf zwei aufeinanderfolgenden Seiten angezeigt werden (funktioniert auch problemlos). Allerdings werden pro Nutzer nur 8 Fragen im Datensatz gespeichert. Bei den anderen Fragen finde ich im Datensatz keinen Eintrag. Es wird keine "-9" (nicht beantwortet) bei den fehlenden Antworten eingetragen, sondern das entsprechende Feld im Datensatz ist leer.
Folgenden Code habe ich verwendet:
// Das isset() vermeidet, dass die Rotation etwa wg. fehlenden Antworten verändert wird
if (!isset($itemsC402)) {
// Alle Items der Frage C402 auflisten
$itemsC402 = getItems('C402', 'all');
// Liste Mischen
shuffle($itemsC402);
// Die Liste in Teillisten à 10 Items teilen
$itemsC402 = array_chunk($itemsC402, 8);
// Die Variable für andere Seiten verfügbar machen
registerVariable($itemsC402);
}
// Die Items über mehrere Seiten verteilt anzeigen
$i = loopPage(count($itemsC402));
question('C402', $itemsC402[$i]);
Mich wundert es, da ich ähnliche Codes an anderer Stelle verwendet habe und das Problem dort nicht auftritt. Die Frage C402 beinhaltet auch alle 16 Items.
Auf de gleichen Seite habe ich noch folgenden PHP-Code stehen, falls das eine Rolle spielen sollte;
// PHP-Code auf der Seite mit dem Stimulus
$zahl = value('EE02');
if ($zahl == 1) {
setNextPage('S25');
} elseif ($zahl == 2) {
setNextPage('S25');
} elseif ($zahl == 3) {
setNextPage('S25');
} elseif ($zahl == 4) {
setNextPage('S27');
} elseif ($zahl == 5) {
setNextPage('S27');
} elseif ($zahl == 6) {
setNextPage('S27');
}
Im Voraus schon einmal vielen Dank für die Hilfe!
Liebe Grüße
Lucas