Vielen Dank für die ausführliche und hilfreiche Antwort. Inzwischen habe ich versucht, das Experiment entsprechend den Vorschlägen zu ändern. Einiges funktioniert schon. Allerdings gelingt es mir noch nicht, die geshufflete Liste abzuspeichern. Die einzelnen Fragen werden immer in der gleichen Reihenfolge angezeigt.
Im Handbuch finde ich für das shufflen von Listen nur Beispiele, in denen Fragekennungen geshufflet werden. Meine Liste enthält allerdings die Datenbank-Schlüssel. Es wäre sehr hilfreich, zu hören, wie ich die geshufflete Liste für Datenbank-Keys speichern sollte, so dass jeder Teilnehmer die Stimuli in anderer Reihenfolge sieht. Ich schreibe unten inline in die vorherigen Kommentare hinein. Hier schon einmal vielen Dank für alle Tips!
>> - Die Liste müsste wahrscheinlich nicht die Zahlen 1-36 enthalten, sondern die keys in der Datenbank für Inhalte. Sollte ich diese Liste mit "array" erstellen?
>Wie genau Sie es umsetzen, hängt vom spezifischen Fall ab. Aber ja, die Datenbank-Schlüssel wären vermutlich sinnvoll.
Das habe ich nun getan. Der Code sieht so aus:
%%%%
$liste1 = array('liste1_01', 'liste1_02', 'liste1_03', 'liste1_04', 'liste1_05', 'liste1_06', 'liste1_07', 'liste1_08', 'liste1_09', 'liste1_10', 'liste1_11', 'liste1_12', 'liste1_13', 'liste1_14', 'liste1_15', 'liste1_16', 'liste1_17', 'liste1_18', 'liste1_19', 'liste1_20', 'liste1_21', 'liste1_22', 'liste1_23', 'liste1_24', 'liste1_25', 'liste1_16', 'liste1_27', 'liste1_28', 'liste1_29', 'liste1_30', 'liste1_31', 'liste1_32', 'liste1_33', 'liste1_34', 'liste1_35', 'liste1_36');
$liste2 = array('liste2_01', 'liste2_02', 'liste2_03', 'liste2_04', 'liste2_05', 'liste2_06', 'liste2_07', 'liste2_08', 'liste2_09', 'liste2_10', 'liste2_11', 'liste2_12', 'liste2_13', 'liste2_14', 'liste2_15', 'liste2_16', 'liste2_17', 'liste2_18', 'liste2_19', 'liste2_20', 'liste2_21', 'liste2_22', 'liste2_23', 'liste2_24', 'liste2_25', 'liste2_16', 'liste2_27', 'liste2_28', 'liste2_29', 'liste2_30', 'liste2_31', 'liste2_32', 'liste2_33', 'liste2_34', 'liste2_35', 'liste2_36');
// Zufallsgenerator wählt eine Stimulusliste aus
$code =value('ZG01');
if($code == '1') {$liste = $liste1;}
elseif($code = '2') {$liste = $liste2;};
// Die ausgewählte Liste zufällig mischen
if(!isset($liste)){shuffle($liste);
// Die Rotation für eine eventuelle Wiederholung der Seite zwischenspeichern
registerVariable($liste);
};
%%%%
Nach dem shufflen werden die einzelnen Fragen gezeigt. Hierbei steht in jeder Frage nur ein Platzhalter, der Fragetext soll mithilfe des keys aus einer Datenbank geholt werden. Der Code sieht jetzt so aus:
%%%%
// Seite n-Mal wiederholen (aktuelle seitennummer in $i speichern)
$i = loopPage(36);
// Führende Nullen an einstellige Zahlen anhängen
$frage_nr = str_pad($i+1, 2, '0', STR_PAD_LEFT);
// aktuellen key aus der geshuffleten liste holen
$schlussel = $liste[$i];
// Variable für Text registrieren
$inhalt = dbGet($schlussel);
replace('%pred%', $inhalt[6], 'html');
// Frage FR$i anzeigen (%pred% wird ersetzt)
question('AX'.$frage_nr.'_01');
%%%%