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

Hallo,
ich habe vier verschiedene Videos als Stimuli, die auf vier unterschiedlichen Seiten angezeigt werden sollen.
Jedes der Videos soll jeder befragten Person angezeigt werden, die Reihenfolge soll jedoch variieren.

Ich habe versucht, mit nur einem Zufallsgenerator (RA01) und auch, mit vier Zufallsgeneratoren (Ra01-04) zu arbeiten (Code jeweils s.u.). Damit erreiche ich allerdings natürlich nur, dass die Videos je Seite randomisiert sind. Es werden jedoch nicht in jedem Fragebogen alle vier Videos angezeigt.
Wie könnte ich das ermöglichen?

Ganz herzlichen Dank vorab!

$code = value('RA01');

if ($code == 1) {
  html('<video width="1024" height="576" controls controlsList="nodownload">
  <source src="Konzert.mp4.mp4" type="video/mp4" />
</video>
');
} elseif ($code == 2) {
 html('<video width="1024" height="576" controls controlsList="nodownload">
  <source src="Opfer.mp4.mp4" type="video/mp4" />
</video>
');
} elseif ($code == 3) {
 html('<video width="1024" height="576" controls controlsList="nodownload">
  <source src="Mannschaft.mp4.mp4" type="video/mp4" />
</video>
');
} elseif ($code == 4) {
 html('<video width="1024" height="576" controls controlsList="nodownload">
  <source src="Musikschule.mp4.mp4" type="video/mp4" />
</video>
');
}

2 Answers

0 votes
by SoSci Survey (304k points)

Jedes der Videos soll jeder befragten Person angezeigt werden, die Reihenfolge soll jedoch variieren.

In diesem Fall benötigen Sie eine Rotation und keine Randomisierung.

Am schnellsten würden Sie das gewünschte Ergebnise wohl mit setPageOrder() erzielen. Falls Sie aber einen Zufallsgenerator nutzen wollten (wovon ich hier abrate), müssten Sie pro Interview 4 Zettel ziehen.

0 votes
by s109993 (9.9k points)
<?php

// Sicherstellen, dass beim Neu-Laden der Seite nicht neu gezogen wird
if (!isset($fragen)) {
  // Liste der relevanten Fragen
  $fragen = array(
    'Video1',  'Video2',  'Video3',  'Video4', 
  );
  // Die Liste mischen
  shuffle($fragen);
  // Und die Variable für eine erneute Anzeige der Seite speichern
  registerVariable('fragen');
}
// Die Frage anzeigen, die nach dem Mischen an erste Stelle steht
question($fragen[0]);
// Und die Fragen an zweiter und dritter Stelle
question($fragen[1]); 
question($fragen[2]);
question($fragen[3]);
question($fragen[4]);

?>

Das wiederholen sie auf jeder Seite, außer das der array name pro Seite Unterschiedlich heißt (zB: $fragen1 = array, $fragen2 = array etc.). Falls die Videos mit Fragen verknüpft sind, müssen sie pro Seite neue Fragen nehmen. Sonst wird, obwohl die Frage jede Seite neu angezeigt wird, die Antwort in die gleiche Variable fließen und sich somit überschreiben.

Viele Grüße

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

...