> leider werden mir nach den mit Text gefüllten Feldern immer noch 2 leere angezeigt.
Ich hatte Sie so verstanden, dass Ergänzungen durch die Teilnehmer möglich sein sollen:
> auf jeden Fall dafür gedacht, dass die Befragten eigene Eingaben machen können
Aber ja, Sie haben auch geschrieben, dass es keine leeren Felder geben soll. Kein Problem: Verwenden Sie den Fragetyp "Texteingabe offen" und zeigen Sie nur die passenden Items.
$texte = [];
if ($data[3] == 'TRUE') {
$texte[1] = $data[2];
}
if ($data[5] == 'TRUE') {
$texte[2] = $data[4];
}
// u.s.w. - gerne auch als Schleife, wenn es mehr als 5 Texte sind.
// Und dann in die offene Texteingabe übernehmen
foreach ($texte as $i => $text) {
preset(id('P126', $i), $text);
}
// Und nur die befüllten Items zeigen
question('P126', array_keys($texte));
Beachten Sie, dass oben nun bei $texte auch immer ein Index (1, 2, ...) gesetzt wird. Und die Frage P126 müssen Sie natürlich aus der Seite entfernen, wenn sie im PHP-Code mittels question() eingebunden wird.