Vielen Dank für die neue Antwort.
Jedes Item liegt in sechs verschiedenen Bedingungen vor. Es handelt sich sechsmal den gleichen Satz mit minimalen Unterschieden. Jeder Versuchsteilnehmer sollte aus jedem Item-Sechstett nur eine Bedingung sehen, und von jeder Bedingung gleich viele Sätze. Das erreichen wir über die Verteilung auf Listen.
Inzwischen habe ich versucht, die vorgeschlagene Lösung mit verschiedenen Rubriken zu übernehmen. Leider lässt sich das nicht gut auf mein Experiment übertragen. Die einzelnen Rubriken enthalten bei mir nicht die verschiedenen Stimuluslisten, so dass ich also nicht einfach auf zwei verschiedene Rubriken verweisen kann, um die Liste zu erweitern. Die Fragen in den Rubriken haben „nur“ Platzhalterfunktion.
Gibt es vielleicht eine Möglichkeit, auf diese „Platzhalterfragen“ zu verzichten?
Ich versuche es noch mal mit dem (minimal) geänderten Skript und annotiere dazu, welche Schwierigkeiten auftreten:
// Definition, wie viele Fragen im Experiment gestellt werden sollen.
$i = loopPage(120);
// Jeder gezeigte Satz entspricht einer Platzhalterfrage in den Rubriken.
// Führende Null an einstellige Zahlen anhängen - Das funktionierte so
// für 01 bis 99 Fragen.
// Jetzt würde ich dreistellige Nummern brauchen,
// um die komplette Liste auszuwählen.
// Ich kann aber in einer neuen Rubrik nicht mit Frage AY100 beginnen,
// SoSci lässt mich den Startpunkt leider nicht auswählen.
$frage_nr = str_pad($i+1, 2, '0', STR_PAD_LEFT);
// Zufallsgenerator wählt eine Stimulusliste (also eine Urne) aus,
// die Urnen enthält die keys der Stimuli aus jeweils einer Liste.
$code =value('ZG01');
// Darüber wird eine Liste mit itemnummern und keys zugewiesen.
// fuer bis 99 stimuli pro liste:
// BX ist die Rubrik, die die Platzhalter enthält.
// Hier werden so viele Fragen aus der Liste ausgewählt, wie oben definiert.
// Könnte man sowas sagen wie
// "Für Fragen 1-99 geh zu Rubrik BX, für Fragen 100-120 geh zur Rubrik BY"?
if($code == '1') {urnDraw('itemnummern_liste1', 'BX'.$frage_nr);}
elseif($code=='2'){urnDraw('itemnummern_liste2', 'BX'.$frage_nr);}
elseif($code=='3'){urnDraw('itemnummern_liste3', 'BX'.$frage_nr);}
elseif($code=='4'){urnDraw('itemnummern_liste4', 'BX'.$frage_nr);}
elseif($code=='5'){urnDraw('itemnummern_liste5', 'BX'.$frage_nr);}
elseif($code=='6'){urnDraw('itemnummern_liste6', 'BX'.$frage_nr);};
// Variable für Text registrieren
// Hier wird der eigentlich angezeigte Satz aus der Datenbank geholt
// und in die Frageseite eingefügt.
$inhalt = dbGet(value('BX'.$frage_nr.'_01'));
replace('%pred%', $inhalt[4]);
// Textbaustein "Prompt" anzeigen (%pred% wird ersetzt)
text('Prompt');
// Frage FR$i anzeigen (%pred% wird ersetzt)
// Rubrik "AX" ist die, die die eigentlichen Frageseiten enthält (wieder Platzhalter)
question('AX'.$frage_nr.'_01');
---
Falls es dadurch übersichtlicher wird, kann ich gerne Zugang zum Projekt geben. Vielen Dank für die Unterstützung!