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

Folgendes Szenario:

Mein Fragebogen ist in drei Experimentalgruppen aufgebaut, welchen jeweils ein rotierender Block zugewiesen werden soll.

Diese 3 Blöcke beinhalten jeweils unterschiedliche Reihenfolgen von Paaren aus Bild (png) und einer Frage. Die Blöcke sind auf den Seiten LV,LOe und LP festgehalten. (Hier Bsp. LOe)

if (!isset($blocks)) {
  $blocks = array(  
    array('LV01', 'Lebenslauf_1_OeV.png'),
    array('LV02', 'Lebenslauf_2_OeV.png'),
    array('LV03', 'Lebenslauf_3_OeV.png'),
    array('LV04', 'Lebenslauf_4_OeV.png'),
    array('LV05', 'Lebenslauf_5_OeV.png'),
    array('LV06', 'Lebenslauf_6_OeV.png'),
    array('LV07', 'Lebenslauf_7_OeV.png'),
    array('LV08', 'Lebenslauf_8_OeV.png'),
    array('LV09', 'Lebenslauf_9_OeV.png'),
    array('LV10', 'Lebenslauf_10_OeV.png'),
    array('LV11', 'Lebenslauf_11_OeV.png'),
    array('LV12', 'Lebenslauf_12_OeV.png'),
  );
 
  shuffle($blocks);

  registerVariable($blocks);
}
 
$i = loopPage(count($blocks));

html('<p><img src="'.$blocks[$i][1].'" alt="Wahlplakat"></p>');

question($blocks[$i][0]);

Nun versuche ich, diese Blöcke den drei Bedingungen zuzuordnen. 
if (value('EX01') == 1) {
goToPage('LV'); 
} elseif (value('EX01') == 2) {
goToPage('LOe'); 
} elseif (value('EX01') == 3) {
goToPage('LP'); 
} else {
 
}

Das Problem dabei ist, dass ich zwar zu einer Rotation gelange, jedoch folgende Fehlermeldung angezeigt wird und die Lebensläufe+Frage jeweils zweimal angezeigt werden.

Fehlermeldung:
Eine oder mehrere Variablen (LV08) wurden bereits auf Seite 6 abgefragt. Bitte beachten Sie, dass die Antworten von Seite 6 hier angezeigt und anschließend überschrieben werden. Falls Sie eine gleichartige Frage mehrfach benötigen, erstellen Sie eine Kopie der Frage.

Vielen Dank!

in SoSci Survey (dt.) by s133806 (110 points)

1 Answer

0 votes

Das Problem ist vermutlich, dass Sie bei allen drei Teilen den gleichen Variablennamen $blocks verwenden.

Falls dem so ist, wird die Rotation nur ein einziges Mal beim ersten Block durchgeführt. Und beim zweiten Block sorgt das isset($blocks) dafür, dass die "alte" Variable erneut verwendet wird.

Lösung: Verwenden Sie einfach beim zweiten Mal $blocks2 und beim dritten mal $blocks3. Oder einen anderen Variablennamen Ihrer Wahl.

Das isset() ist erforderlich, damit die Rotation nicht nach jeder Seite von loopPage() erneut gemischt wird. Daran bitte nichts ändern.

by SoSci Survey (251k points)
...