Die Kennung der Frage mit den Antworten des Typs "Offene Nennung" lautet NT05. Die Teilnehmer sollen die Möglichkeit haben bis zu 5 Antworten aufzulisten. Die aufgelistet Antworten (und auch nur die aufgelisteten) sollen z.B. in die Frage NT06 übernommen werden. Folgenden Code habe ich verwendet:
$frage = 'NT05';
$items = array();
for ($i=1; $i<=5; $i++) {
$itemID = $frage.'x'.sprintf('%02d', $i);
$antwort = value($itemID);
if (trim($antwort) != '') {
replace('%text'.$i.'%', $antwort);
$items[] = $i;
}
}
// Folgefrage anzeigen
if (count($items) > 0) {
question('NT06', $items);
}
Es ergibt sich allerdings ein Problem, wenn der Teilnehmer weniger als 5 Antworten gibt. Dann erscheinen mehrere Fehlermeldungen, z.B. "Für den Platzhalter %text3% wurde weder ein Eingabefeld mit prepare_input() vorbereitet, noch ein Inhalt mit replace() festgelegt." oder "Items in der nachfolgenden Fragen werden auf dieser Seite schon weiter oben angezeigt. Dies führt fast zwangsläufig zu Datenverlust! Falls Sie eine Frage mehrfach benötigen, legen Sie bitte eine Kopie der Frage an. Betroffen sind folgende Items: NT06_01, NT06_02."
Vielen Dank vorab!