0 votes
in SoSci Survey (dt.) by s115114 (140 points)

Hallo,
ich habe Items einer Frage- mithilfe des folgenden Codes auf zwei Seiten verteilt- randomisiert dargestellt:

    // Das isset() vermeidet, dass die Rotation etwa wg. fehlenden Antworten verändert wird
if (!isset($itemsT502)) {
  // Alle Items der Frage T502 auflisten
  $itemsT502 = getItems('A502', 'all');
  // Liste Mischen
  shuffle($itemsT502);
  // Die Liste in Teillisten à 8 Items teilen
  $itemsT502 = array_chunk($itemsT502, 8);
  // Die Variable für andere Seiten verfügbar machen
  registerVariable($itemsT502);
}
 
// Die Items über mehrere Seiten verteilt anzeigen
$i = loopPage(count($itemsT502));
question('A502', $itemsT502[$i]);

Das funktioniert soweit einwandfrei. Nun habe ich aber folgendes Problem: Sobald ich eine weitere Frage auf die gleiche Seite ziehe unter den oben genannten Code, wird die Frage nachdem sie beantwortet wurde auf der "geloopten" Seite erneut angezeigt. Wie kann ich verhindern, dass die Frage ein zweites Mal (nach dem Loop) angezeigt wird?

Vielen Dank für Ihre Hilfe!

Liebe Grüße

1 Answer

0 votes
by SoSci Survey (302k points)

Sobald ich eine weitere Frage auf die gleiche Seite ziehe unter den oben genannten Code, wird die Frage nachdem sie beantwortet wurde auf der "geloopten" Seite erneut angezeigt.

Wenn Sie eine Seite mit loopPage() mehrfach anzeigen, dann werden alle (!) Inhalte der Seite mehrfach angezeigt.

Wenn Sie also eine weitere Frage auf der Seite zeigen, aber nur bei einer Wiederholung anzeigen wollten, könnte das so aussehen:

if ($i == 0) {
  question('AB01');
}

Die Zählvariable von loopPage() beginnt bei 0, die Frage AB01 würde im obigen Beispiel also nur bei der ersten Wiederholung gezeigt. Natürlich müssten Sie die Frage, wenn diese scho auf die Seite gezogen wurde, wieder von dieser entfernen.

by s115114 (140 points)
Vielen vielen Dank!!! Nun funktioniert es einwandfrei!

Willkommen im Online-Support von SoSci Survey.

Hier bekommen Sie schnelle und fundierte Antworten von anderen Projektleitern und direkt von SoSci Survey.

→ Eine Frage stellen


Welcome to the SoSci Survey online support.

Simply ask a question to quickly get answers from other professionals, and directly from SoSci Survey.

→ Ask a Question

...