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 zusammen,

Ich weiß nicht, wie ich Folgendes umsetzten kann: Ich habe vier Videos auf vier Seiten (plus eine Seite Fragen nach jedem Video). Jeder Teilnehmer soll alle Videos zu sehen bekommen (jedes nur einmal), aber in einer zufälligen Reihenfolge.

Ich habe dafür einen Zufallsgenerator eingebunden, der auch auf der ersten Seite erfolgreich ein Video zieht. Jedoch weiß ich nicht, was ich auf den folgenden Seiten anzugeben habe, damit die restlichen Videos entsprechend randomisiert angezeigt werden.

… Ich kenne mich mit PHP-Code nicht besonders gut aus. Auf der ersten Seite mit Video habe ich den Zufallsgenerator eingebunden mit:

$code = value('ZB01');
$mpg = value('ZB01', 'label');
html('<video width="512" height="288" controls controlsList="nodownload">
  <source src="'.$mpg.'" type="video/mp4" />
</video>
');

Was ja funktioniert. Auf der zweiten Seite mit Video habe ich es dann versucht mit:

$code = value('ZB01');
 $videos = array(
    1 => 'x.mp4',
    2 => 'y.mp4',
    3 => 'z.mp4',
    4 => 'q.mp4'
  );
  $mpg = $videos[$code];
html('<video width="512" height="288" controls controlsList="nodownload">
  <source src="'.$mpg.'" type="video/mp4" />
</video>
');

Aber da wird trotzdem, nur immer dasselbe Video angezeigt. Brauche ich mehrere Zufallsgeneratoren dafür? Wie muss ich vorgehen?

Über Hilfe wäre ich wirklich dankbar!

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

1 Answer

0 votes

Sie haben nicht verraten, welches Video für den Code 1 im Zufallsgenerator vermerkt ist ... wenn es x.mp4 ist, dann liegt es einfach daran, dass Sie im Array auf Seite 2 ein anderes Video auf Platz 1 angeben müssten:

 $videos = array(
    1 => 'y.mp4',
    2 => 'z.mp4',
    3 => 'q.mp4',
    4 => 'x.mp4'
  );

Aber damit rotieren Sie die Reihenfolge nicht wirklich ... Sie haben bei 4 Zetteln im Zufallsgenerator ja nur 4 mögliche Reihenfolgen statt der sonst möglichen 4 x 3 x 2 = 24.

Eine Möglichkeit bestünde darin, dass Sie pro Interview jeweils (alle) 4 Zettel ziehen lassen. Dann haben Sie 4 Variablen. Aber für Ihre Fall geht es noch einfacher: Mischen Sie einfach die Reihenfolge der 4 Seiten und verwenden Sie setPageOrder():

Wie das geht, steht hier: Rotation -> Seiten rotieren

by SoSci Survey (92k points)
Hey,
schon mal danke für die Antwort.
Die Seiten einfach rotieren zu lassen hatte ich mir auch schon überlegt, aber ich habe ja noch zu jeder Seite mit Video eine dazugehörige Seite mit Fragen. Kann man die entsprechend mit rotieren lassen?

Ansonsten: Welchen Code muss ich auf den Seite nehmen, wenn ich alle 4 Zettel ziehen lasse und dann vier Variablen habe?
Ich weiß mir echt nicht zu helfen.
>  aber ich habe ja noch zu jeder Seite mit Video eine dazugehörige Seite mit Fragen. Kann man die entsprechend mit rotieren lassen?

Ja, natürlich - s. https://www.soscisurvey.de/help/doku.php/de:create:rotation#rotation_von_fragebloecken
Hervorragend. Vielen Dank, damit funktioniert es einwandfrei!

Jetzt hätte ich nur noch eine Frage und dann hat es sich hoffentlich:
Ich möchte die Reihenfolge der Videos speichern. Also dass es mir anzeigt, welche Reihenfolge ein Teilnehmer bekommen hat.

Dafür habe ich schon eine Interne Variable erstellt und wollte sie mit put() einbinden, allerdings weiß ich aus welcher Variable ich meine Werte nehmen soll.

Ich habe Folgendes probiert:

put('IV01_01', $blocks);

Aber die Variable $blocks ist ja ein Array und kann als solche nicht gespeichert werden. Was muss ich da angeben?
Weil das nicht ganz trivial ist, haben wir den Code in die Anleitung zu put() gepackt: https://www.soscisurvey.de/help/doku.php/de:create:functions:put#beispielrandomisierung_i
Wirklich vielen herzlichen Dank für die super Hilfe! Wenn ich jetzt weiß welchen Code ich überhaupt nehmen soll, ist das auch schnell umzusetzen. Jetzt funktioniert alles wie es soll.
...