0 votes
in SoSci Survey (dt.) by s066381 (260 points)

Lieber Support,

ich möchte mehrere Seitenblöcke den Teilnehmenden in zufälliger Reihenfolge anzeigen. Zwischen den Blöcken kommt jeweils eine Seite mit Überleitung. Das habe ich mit der Anleitung Seiten rotieren problemlos hinbekommen. Nun möchte ich innerhalb jedes Seitenblocks die Seiten 1-4 rotieren, die Seiten 5 und 6 allerdings an fixer Position stehen haben. Die Seiten 5 und 6 enthalten blockspezifische Informationen und sind von den Angaben auf den Seiten 1-4 abhängig. Darauf sind Filterfragen, die in Abhängigkeit der zuvor getätigten Antworten bestimmte Inhalte anzeigen. Zudem möchte ich die Reihenfolge der Seiten 1-4 pro Seitenblock abspeichern.

Jetzt stehe ich auf dem Schlauch, wie ich diesumsetzen kann. Bevor ich mich für eine Rotation der Seitenblocks entschieden habe, habe ich mit Zufallsgeneratoren, setPageOrder und putList gearbeitet. Könnte ich dies mit meinen PHP-Code für die Rotation der Seitenblöcke kombinieren?

(Ich bezeichne der Einfachheit halber hier alle Seiten aller Blocks mit 1-6, obwohl die Seiten je Block verschieden sind).

Bislang sieht es also so aus (die Zufallsgeneratoren für die Seitenblöcke enthalten jeweils nur die Seiten 1-4).

$blockfolge = array_values(valueList('RA05'));
$blocks = [
  1 => valueList('RA02', null, 'label'),
  2 => valueList('RA03', null, 'label'),
  3 => valueList('RA04', null, 'label')
];
$gesamtliste = array_merge(
  ['Bridge1'],
  $blocks[$blockfolge[0]],
  ['Bridge2'],
  $blocks[$blockfolge[1]],
  ['Bridge3'],
  $blocks[$blockfolge[2]]
);
setPageOrder($gesamtliste, 'NomoNet1');

Ich hoffe, meine Frage ist verständlich. Ich bedanke mich für jede Anregung!

1 Answer

0 votes
by SoSci Survey (327k points)

innerhalb jedes Seitenblocks die Seiten 1-4 rotieren, die Seiten 5 und 6 allerdings an fixer Position stehen haben

Sie ziehen für die Rotation der Blöcke aus drei Zufallsgeneratoren RA02 bis RA04. Ich sehe jetzt zwei mögliche Lösungen.

Lösung 1: Hinterlegen Sie im Zufallsgenerator die fertigen Abfolgen - es gibt ja nur 4x3x2x1 = 24 mögliche Abfolgen, also z.B.

p1,p2,p3,p4,p5,p6
p1,p2,p4,p3,p5,p6
...

Lösung 2: Ziehen Sie nur die Seiten 1-4 und ergänzen Sie die anderen beiden.

$blocks = [
  1 => array_merge(valueList('RA02', null, 'label'), ['p5','p6']);
  // ...
];

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

...