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

0 votes

Hallo,
ich bin leider kein Experte der PHP-Programmierung und hoffe hier kann mir jemand helfen.

Ich habe zwei Frageblöcke:
Block 1: 'B1Start', 'jump3','B1End'
Block 2: B2Start', 'jump1','B2End'

und möchte diese immer rotieren/abwechseln um zu überprüfen, ob die Reihenfolge der Fragen einen Einfluss hat. Wenn man auf der Start Seite nein auswählt, überspringt man jump.
Aus dem Handbuch habe ich folgenden Code genutzt:

if (!isset($blocks)) {
  $blocks = array( 
    array('B1Start', 'jump3','B1End'),
    array('B2Start', 'jump1','B2End'),

  );
 
  // Die Liste mischen
  shuffle($blocks);
  // Die Listen auf allen Seiten verfügbar machen
  registerVariable($blocks);
}

Leider wechseln sich die Blöcke nicht ab. Ich habe den Code auf die erste Seite B1Start kopiert. Leider sehe ich im Pre-Test bei mehreren Versuchen immer nur die Reihenfolge B1 und dann B2. Zwischen den 2 Blöcken ist noch eine Seite dazwischen geschaltet, die immer gleich bleibt. Was muss ich hier ändern?

Vielen Dank für eine Hilfestellung!!

Liebe Grüße,
Alina

in SoSci Survey (dt.) by s101790 (110 points)
edited by SoSci Survey

1 Answer

0 votes

Der Code hat in Ihrem Fall keine Wirkung, weil Sie kein setPageOrder() verwenden, um die ausgewürfelte Reihenfolge zu verwenden.

Ich denke aber, dass dieser Code ohnehin nicht für Sie geeignet ist, weil Sie ja später wissen möchten, in welcher Reihenfolge die Seiten angezeigt wurden. Legen Sie stattdessen bitte einen Zufallsgenerator (im Folgenden Beispiel RG01) mit 2 Zetteln an und versuchen Sie es mit:

question('RG01');
if (value('RG01') == 1) {
  setPageOrder(array('B1Start', 'jump3', 'B1End', 'more'));
} else {
  setPageOrder(array('B2Start', 'jump3', 'B2End', 'more'));
}

Sie Seite nach B2End benennen Sie mit "more", damit es in Versuchsbedingung 1 nach B1End korrekt weitergeht.

Diesen PHP-Code packen Sie auf die Seite vor B1Start.

by SoSci Survey (60k points)
...