Hallo zusammen,
ich möchte gerne in meinem Fragebogen aus einem Set an 60 Bilder pro Teilnehmer zufällig 40 Bilder per Zufallsgenerator ziehen, welche ich dann ohne Text auf einer Seite über einen loop anzeige.
Das Thema bei den Bilder ist, dass ich Bilder von 60 Personen habe und von jeder Person habe ich ein Bild mit glücklichem, traurigem und neutralem Gesichtsausdruck. In Runde 1 möchte ich nun 15 Personen in glücklich und 15 Personen in traurig anzeigen (gelabelt sind die Bilder mit Zahl_h für happy, Zahl_s für sad und Zahl_n für neutral). Das habe ich bereits auf einer Seite wie folgt getan:
>// Abfolge der Bilder rotieren
if (!isset($order)) {
$order = [];
for ($i=1; $i<=30; $i++) {
$order[] = $i;
}
shuffle($order);
registerVariable($order);
}
>// Varianten der Bilder fix definieren
$variante = [1,1,1,1,1,2,2,2,2,2,1,1,1,1,1,2,2,2,2,2,1,1,1,1,1,2,2,2,2,2];
foreach ($variante as $i => $var)
>// Die ersten 30 Bilder anzeigen
$i = loopPage(30);
// Aber in der Reihenfolge wie in $order gespeichert
$num = $order[$i];
$basis = value(id('ZG01', $num), 'label');
if ($variante[$num - 1] == 1) {
$bild = $basis.'_h.jpg';
} else {
$bild = $basis.'_s.jpg';
}
html('<div style="margin: 3em; text-align: center">
<img src="'.$bild.'" alt="" /; style="max-width: 50%">
</div>');
Nun möchte ich auf der zweiten Seite, dass alle 30 Bilder aus Runde 1 und die restlichen 10, die noch aus dem Zufallsgenerator übrig sind (also insgesamt jetzt 40) in "Gesichtsausdruck Neutral" wieder randomisiert anzeigen, mit der Frage darunter "Haben Sie diese Person schoneinmal gesehen". Hierbei habe ich noch einige Fehlermeldungen:
>if(!isset($bilder2)){
$bilder2=array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40);
shuffle($bilder2);
registerVariable($bilder2);
}
>for ($i=0; $i<count($bilder2); $i++) {
$id = id('IV02', $i + 1);
put($id, value(id('ZG01', $bilder2[$i])));
}
>$i = loopPage(40);
$num = $bilder2[$i];
$basis = value(id('ZG01', $num), 'label');
$bild = $basis.'_n.jpg';
html('<div style="margin: 3em; text-align: center">
<img src="'.$bild.'" alt="" /; style="max-width: 50%">
</div>');
question(id('RE', $i+1));'
Das Thema ist, dass ich danach in meinem Datensatz wissen muss, welche Bilder die Personen wiedererkannt haben. Ich habe keine Ahnung, wie ich das umsetzen kann.
Und zuguterletzt würde ich den Probanden auch gerne eine Rückmeldung geben, wie viele Personen sie richtig wiedererkannt haben. Auch dazu habe ich noch keine Idee...
Ich bin sehr dankbar für Hilfe!