0 votes
in SoSci Survey (dt.) by s249152 (110 points)
edited by SoSci Survey

Liebes Support- Team,

mein geplanter Fragebogen besteht aus drei Rubriken, die jeweils 5 Fragen beinhalten. Nun würde ich eigentlich gerne alle 140 Items der drei Rubriken über mehrere Seiten randomisiert haben. Das Randomisieren hat auch soweit mit diesem Code auch gut geklappt:

if (!isset($items)) {
  $questions = ['EN01','EN02','EN03','EN04','EN05','NE01','NE02','NE03','NE04','NE05','P001','P002','P003','P004','P005'];
  // Liste mit allen Items erstellen
  $items = [];
  foreach ($questions as $qstID) {
    $qstItems = getItems($qstID, 'all');
    foreach ($qstItems as $itemID) {
      $items[] = [$qstID, $itemID];
    }
  }
  // Liste mischen
  shuffle($items);
  registerVariable($items);
}
// Fragetext anzeigen
question('NE01', 'spacing=0', 'show-items=no');
 
// Items anzeigen
foreach ($items as $item) {
  question($item[0], [$item[1]], 'spacing=0', 'show-title=no', 'show-explanation=no');
}

Aber egal was ich in den Code noch weiter einfüge, ich bekomme die 140 Items nicht auf Seiten von je 15 Items.
Können Sie mir vielleicht sagen, wie ich den Code abändern muss um das Problem zu beheben?

Vielen Dank!

1 Answer

0 votes
by SoSci Survey (308k points)

Aber egal was ich in den Code noch weiter einfüge, ich bekomme die 140 Items nicht auf Seiten von je 15 Items.

Das liegt daran, weil Sie keinen Code haben, welcher für die Verteilung auf unterschiedliche Seiten sorgen würde - namentlich loopPage().

Ersetzen Sie diesen Teil

// Items anzeigen
foreach ($items as $item) {
  question($item[0], [$item[1]], 'spacing=0', 'show-title=no', 'show-explanation=no');
}

Bitte einmal wie folgt. Das array_chunk() sorgt für die Zerlegung in 15-er Blöcke.

$chunks = array_chunk($items, 15);
$i = loopPage(count($chunks));
// Items anzeigen
foreach ($chunks[$i] as $item) {
  question($item[0], [$item[1]], 'spacing=0', 'show-title=no', 'show-explanation=no');
}

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

...