Lieber SoSci-Survey Online Support,
zu Beginn meines Fragebogens füllen die Teilnehmenden maximal 10 Episoden aus (Minimum = 1). Danach wird ihnen mittels loopToPage zu jeder angegeben Episode derselbe Fragenblock gestellt. Dafür soll auf der ersten Seite von loopToPage die ausgefüllte Episode angezeigt werden und anschließend über die nächsten 3 Seiten die Frageblöcke. Unten ist meine Lösung.
Mein Problem ist nun Folgendes: Jede Episode ist eine eigene Frage (LM02 – LM11) und besteht aus vier Items (4 offene Texteingaben für Name, Beginn, Ende und Notizen). Die Kennungen sind LM02_01, LM02_02, LM02_03 und LM02_04 etc. Wenn ich wie in meiner Lösung vorgehe wird mir in rot ausgegeben, dass die Variable LM02 nicht im Projekt existiert (ist ja klar, da die Variablen ja LM02_01 etc. heißen). Nun weiß ich nicht, wie ich das lösen kann.
Ich dachte, wenn ich für jede Episode eine Rubrik erstelle, würde sich etwas ändern. Allerdings ergibt sich dasselbe Problem, da aufgrund der offenen Texteingabe die Variablen weiterhin LM02_01 etc. heißen. Ich bekomme also auch die Meldung, dass die Variablen LM02 etc. nicht existieren.
Ich würde mich wirklich über Hilfe und eine Lösung dieses Problem freuen!!
$sections = [
1 => 'LM02', 2 => 'LM03', 3 => 'LM04', 4 => 'LM05', 5 => 'LM06',
6 => 'LM07', 7 => 'LM08', 8 => 'LM09', 9 => 'LM10', 10 => 'LM11'
];
$episoden = array();
foreach ($sections as $ep => $sec) {
if (
(trim(value(id($sec, 1))) == '') and
(trim(value(id($sec, 2))) == '') and
(trim(value(id($sec, 3))) == '') and
(trim(value(id($sec, 4))) == '')
) {
// Hier wurde nichts eingetragen, weiter zur nächsten
continue;
}
// Sonst die Nummer der Episode notieren
$episoden[] = $ep;
}
// Die Liste benötigen wir evtl. noch auf weiteren Seiten
registerVariable($episoden);
$i = loopToPage(‘RMd’, count($episoden));
$ep = $episoden[$i];
$fragen = [
1 => 'LM02', 2 => 'LM03', 3 => 'LM04', 4 => 'LM05', 5 => 'LM06',
6 => 'LM07', 7 => 'LM08', 8 => 'LM09', 9 => 'LM10', 10 => 'LM11'
];
$frage = $fragen[$episoden[$i]];
$titel = value(id($frage));
$titel = replace('%eTitel%', id($frage), 'response');