Mein Ziel ist es, dass jeder Studienteilnehmende drei unterschiedliche Vignetten/Szenarien gezeigt bekommt. Pro Durchgang soll die Ziehung der Zettel bzw. Szenarien random erfolgen. In der zweiten Ziehung, sollen die Zettel, welche in der ersten Runde gezogen wurden, nicht erneut gezeigt werden. Für die dritte Ziehung sollen die Zettel die in Runde eins und zwei gezogen wurden, nicht erneut angezeigt werden.
Für die erste Runde ergibt sich daher der erste PHP-Code:
$zahl = value('ZG01');
if ($zahl == 1) {
text('V101');
} elseif ($zahl == 2) {
text('V102');
} elseif ($zahl == 3) {
text('V103');
} elseif ($zahl == 4) {
text('V104');
} elseif ($zahl == 5) {
text('V105');
}
Für die zweite Runde dieser:
// Speichere die Vignette, die auf Seite 4 angezeigt wurde
$zahl_von_seite4 = value('ZG01');
// Speichere die Vignette in der internen Variable IV01_01
put('IV01_01', $zahl_von_seite4);
// Zeige die zufällig ausgewählte Vignette auf Seite 5 an
$zahl_fuer_seite5 = value('ZG02');
do {
if ($zahl_fuer_seite5 == 1) {
text('V201');
} elseif ($zahl_fuer_seite5 == 2) {
text('V202');
} elseif ($zahl_fuer_seite5 == 3) {
text('V203');
} elseif ($zahl_fuer_seite5 == 4) {
text('V204');
} elseif ($zahl_fuer_seite5 == 5) {
text('V205');
}
} while ($zahl_fuer_seite5 == $zahl_von_seite4);
Für die dritte Runder, dieser:
// Speichere die Vignetten, die auf Seite 4 und Seite 5 angezeigt wurden
$zahl_von_seite4 = value('ZG01');
$zahl_von_seite5 = value('ZG02');
// Speichere die Vignetten in internen Variablen IV01_01 und IV01_02
put('IV02_01', $zahl_von_seite4);
put('IV03_01', $zahl_von_seite5);
// Zeige die zufällig ausgewählte Vignette auf Seite 6 an
$zahl_fuer_seite6 = value('ZG03');
do {
if ($zahl_fuer_seite6 == 1) {
text('V301');
} elseif ($zahl_fuer_seite6 == 2) {
text('V302');
} elseif ($zahl_fuer_seite6 == 3) {
text('V303');
} elseif ($zahl_fuer_seite6 == 4) {
text('V304');
} elseif ($zahl_fuer_seite6 == 5) {
text('V305');
}
} while ($zahl_fuer_seite6 == $zahl_von_seite4 || $zahl_fuer_seite6 == $zahl_von_seite5);
Leider funktionieren die PHP-Codes nur bei manchen Testdurchlaufen und bei anderen nicht. Meine Frage ist daher: Wie kann ich im zweiten und dritten Durchlauf die Zettel, welche in den vorherigen Ziehungen (z. B. bei der ersten UND zweiten Ziehung) bereits gezogen wurden, aus der Urne entfernen bzw. dafür sorgen, dass in diesem Fall neu gezogen wird?
Die Fehlermeldung die mir angezeigt wird, ist die folgende: ![](https://support.soscisurvey.de/?qa=blob&qa_blobid=7770962178980348073)