Hallo,
mein Fragebogen besteht aus mehreren Auswahl und Mehrfachauswahl-Fragen. Jede Antwort hat eine individuelle Punktebewertung, welche über alle Antworten hinweg addiert werden soll. Bei der Auswahl ist dies kein Problem. Bei der Mehrfachauswahl funktioniert der Code nicht.
Ursprünglich habe ich folgenden Code(asuschnitt) verwendet:
'MI07' => [1 => 16, 2 => 8, 3 =>12, 4 => 8, 5 => 12, 6 => 16, 7 => 16, 8 => 0],
Problem: Er hat nur den höchsten Wert gezählt und nicht alle angekreuzten Werte aufsummiert.
Nach etwas Recherche hier im Forum habe ich den Code(ausschnitt) folgendermaßen geändert:
'MI07_01' => 16,
'MI07_02' => 8,
'MI07_03' => 12,
'MI07_04' => 8,
'MI07_05' => 12,
'MI07_06' => 16,
'MI07_07' => 16,
'MI07_08' => 0,
Problem: Jetzt zählt er allerdings gar keine Antwort mehr und ignoriert die Antworten gänzlich.
Der komplette Code wäre folgender:
$fragen = [
'MI01' => [1 => 12, 2 => 8, 3 => 4],
'MI02' => [1 => 20, 2 => 15, 3 => 10, 4 => 5],
'MI03' => [1 => 16, 2 => 12, 3 => 8, 4 => 4, 5 => 0],
'MI04' => [1 => 9, 2 => 6, 3 => 9, 4 => 9, 5 => 6, 6 => 3],
'MI06' => [1 => 1,5, 2 => 3, 3 => 4,5, 4 => 6, 5 => 7,5, 6 => 9, 7 => 10,5, 8 => 12, 9 => 13,5, 10 => 15],
'MI07_01' => 16,
'MI07_02' => 8,
'MI07_03' => 12,
'MI07_04' => 8,
'MI07_05' => 12,
'MI07_06' => 16,
'MI07_07' => 16,
'MI07_08' => 0,
'MI08' => [1 => 4, 2 => 2, 3 => 0],
'MI09' => [1 => 12, 2 => 12, 3 => 12, 4 => 16, 5 => 8, 6 => 4],
'MI10' => [1 => 12, 2 => 9, 3 => 6, 4 => 6, 5 => 3],
];
$points = 0;
foreach ($fragen as $variable => $values) {
$answer = value($variable);
if (isset($values[$answer])) {
$points += $values[$answer];
}
}
html('<p>Sie haben '.$points.' Punkte im Bereich Mitarbeiter erzielt.</p>');
Was muss ich ändern, damit er die Punkte aller angekreuzten Antworten aufsummiert?