Hallo,
ich möchte, zuvor in einer Mehrfachauswahl gewählte Items, in einer Mehrfachauswahl-Matrix abfragen. Diese sollen nach Schulnoten 1-6 bewerten werden. Das funktioniert auch gut mit dem Code:
$angebote = getItems('HI02', 'min', 2); // Liste erstellen
if (count($angebote) >= 3) { // Wenn mindestens 3 Items ausgewählt wurden,
question('HI04', $angebote);
}
Nun möchte ich jedoch nach dieser Bewertung einen eigentlich leichten Filter. Und zwar: wenn mit 1 & 2 bewertet, dann Frage HI06, wenn Frage mit 4-6 bewertet, dann Frage HI07, falls nur mit 3 beantwortet, dann im Fragebogen weiterspringen.
Beispielhaft hat dies mit folgendem Code funktioniert, der (die Verknüpfung der Bedingungen fehlt noch) nach "guter Bewertung" filtern soll:
$itemliste = array(); // Eine leere Liste erstellen
$anzahl_items = 16; // 15 Items überprüfen
$frage = 'HI04';
for ($i=1; $i<=$anzahl_items; $i++) { // Durchzählen von 1 bis 6
$kennung = id($frage, $i); // Ergibt z.B. TF04_01
// Hat das Item einen Wert von 2?
if (value($kennung) <= 2) {
$itemliste[] = $i;
}
}
if (count($itemliste) == 0) {
goToPage('next');
}
question('HI06');
Dabei tritt jedoch folgendes Problem auf:
"Warnung, S. 6: Die Variable HI04_01 wurde im Laufe dieses Interviews
auf keiner vorhergehenden Seite abgefragt. Daher kann die Funktion
value() keinen Antwort-Wert ermitteln."
Diese Warnungen werden für alle Variablen angezeigt, die in der ersten Mehrfachauswahl (HI02 im ersten Code) nicht gewählt wurden. D.h. die Verwendung des Arrays im zweiten Code kann nicht funktionieren.
Somit wollte ich fragen, ob es eine andere Möglichkeit gibt, um anhand der Bewertungen nach Fragen zu filtern? Bzw. falls nicht, ob ich mit Erweiterung der bisherigen Codes eine Lösung finden könnte?
Vielen Dank im Voraus und liebe Grüße!