Danke für die vollständige Darstellung. Beginnen wir mal mit dem ersten Problem, dem Mischen. Legen Sie doch bitte in den dritten Zufallsgenerator (s. Ihre andere Frage) die Kennungen der Variablen, die Sie im Zufallsgenerator ziehen:
VP26x01
VP26x02
VP26x03
VP26x04
VP26x05
VN27x01
VN27x02
VN27x03
VN27x04
VN27x05
Stellen Sie ein, dass Sie pro Interview (alle) 10 Zettel ziehen möchten. Nehmen wir mal an, der Zufallsgenerator heißt FR01, dann würden Sie hiermit eine Liste der Variablen in zufälliger Reihenfolge bekommen:
$vars = valueList('FR01', NULL, 'label');
Diese Liste kann man nun einfach abarbeiten anstatt Ihrer FOR-Schleifen:
foreach ($vars as $varID) {
$key = value($varID, 'label');
$inhalt = dbGet($key);
html('
<h2> '.$inhalt[0].' </h2>
');
}
Nur die p's und n' müssen Sie dann noch in in VN26 und VN27 hinterlegen, damit es klappt.
Und jetzt zum zweiten Problem mit zwei weiteren solchen Seiten: Ziehen Sie in VN26 und VN27 nicht nur jeweils 5, sondern 3 x 5 = 15 Codes. Und dann legen Sie noch zwei weitere "dritte" Zufallsgeneratoren an - und schreiben Sie die weiteren Variablenlabels hinein, also in den zweiten "dritten" dann...
VP26x06
VP26x07
VP26x08
VP26x09
VP26x10
VN27x06
VN27x07
VN27x08
VN27x09
VN27x10
Dadurch dass jede Kennung von den beiden Zufallsgeneratoren nur einmal gezogen wird, verhindern Sie Dopplungen.