Hallo zusammen,
das funktioniert. Ich ziehe jetzt per Zufallsgenerator 40 Personen aus meinem Set an 60 Personen.
In Runde 1 zeige ich die ersten 30 (15 in glücklich und 15 in traurig). Welche das sind weiß ich, anhand meines arrays. Die ersten 5 in der Variable ZG01 wurden glücklich gezeigt, die nächsten 5 traurig, die nächsten 5 glücklich, die nächsten 5 traurig usw.
Hier nochmal der Code von Seite 1:
// Abfolge der Bilder rotieren
// isset prüft ob eine Variable existiert und sie nicht NULL ist
if (!isset($order)) {
$order = [];
for ($i=1; $i<=30; $i++) {
$order[] = $i;
}
shuffle($order);
//mit registerVariable die Variable für die folgenden PHP Elemente merken
registerVariable($order);
}
// Varianten der Bilder fix definieren
// 1=happy 2=sad
$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');
//wenn 1, dann zeige Bild mit Endung .h; wenn 2, dann zeige Bild mit Endung .s
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>
');
In Runde 2 geht es dann ums wiedererkennen. Hier zeige ich alle 40 Bilder aus dem Zufallsgenerator. Welche neu sind weiß ich, weil das die Bilder Nummer 31 - 40 aus dem Zufallsgenerator sind. Die Reihenfolge in Runde 2 speichere ich außerdem noch in IV02 (was wahrscheinlich sogar überflüssig ist.
Zu jedem Bild zeige ich eine Frage aus der Variable RE21, das klappt und die Antwort (codiert als 1=ja und 2=nein) kann ich ebenfalls sehen.
Hier nochmal der Code aus Runde 2:
> 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('RE21', $num);
Meine Frage:
Wie bekomme ich die Antwort dem Bild zugeordnet? Woher weiß ich, welches Bild mit ja und welches mit Nein beantwortet wurde? Hierbei hänge ich noch...
Ich habe versucht einmal alle Antworten aufzuschreiben, habe die ersten 30 mit ja und die letzten 10 mit nein beantwortet. In meinen Daten sind dann aber alle Einsen und Zweien durcheinander und ich bekomme sie nicht mehr zugeordnet...