0 votes
in SoSci Survey (dt.) by s149977 (165 points)

Guten Tag,

ich möchte die Werte der Antworten aller 12 Items eines Fragebogens vorab ändern, was bisher auch bei anderen Fragebögen funktioniert hat. Bei diesem PHP Code sind lediglich die Werte höher, da es sich um t-Werte handelt, aber es funktioniert dennoch nicht.
Was habe ich übersehen?

// Definition der Fragen und der Werte möglicher Antworten
$fragen = [
'VR01_01' => [1 => 100, 2 => 85, 3 => 60, 4 => 35, 5 => 0],
 'VR02_01' => [1 => 0, 2 => 50, 3 => 100],
 'VR03_01' => [1 => 0, 2 => 50, 3 => 100],
 'VR04_01' => [1 => 100, 2 => 75, 3 => 50, 4 => 25, 5 => 0],
 'VR05_01' => [1 => 100, 2 => 75, 3 => 50, 4 => 25, 5 => 0],
 'VR06_01' => [1 => 100, 2 => 75, 3 => 50, 4 => 25, 5 => 0],
 'VR07_01' => [1 => 100, 2 => 75, 3 => 50, 4 => 25, 5 => 0],
 'VR08_01' => [1 => 100, 2 => 75, 3 => 50, 4 => 25, 5 => 0],
 'VR09_01' => [1 => 100, 2 => 80, 3 => 60, 4 => 40, 5 => 20, 6 => 0],
 'VR10_01' => [1 => 100, 2 => 80, 3 => 60, 4 => 40, 5 => 20, 6 => 0],
 'VR11_01' => [1 => 0, 2 => 20, 3 => 40, 4 => 60, 5 => 80, 6 => 100],
 'VR12_01' => [1 => 0, 2 => 25, 3 => 50, 4 => 75, 5 => 100]

];

// Zähl-Variable initialisieren
$points = 0;

// Mittels foreach kann man einfach die Schlüssel-Wert-Paare durchlaufen
foreach ($fragen as $variable => $values) {
  // Antwort des Teilnehmers abrufen
  $answer = value($variable);
  // Prüfen, ob für diese Antwort ein Wert vorliegt (sonst keinen Punkt vergeben)
  if (isset($values[$answer])) {
    // Zählen des Wertes
   $points+= $values[$answer];
  }
}
by SoSci Survey (328k points)
> aber es funktioniert dennoch nicht.

Worin äußert sich das denn?

1 Answer

0 votes
by s149977 (165 points)

Ich erhalte lediglich Zahlen zwischen 1 und 6.

by SoSci Survey (328k points)
In der Variable $points? Ich frage deshalb, weil sie im PHP-Code oben diese Variable nicht weiter verwenden.

Ergänzen Sie bitte folgende Zeile und posten Sie die komplette Debug-Information:

debug($points);
by s149977 (165 points)
Debug-Information für $points:
$points = 600 (integer)
by SoSci Survey (328k points)
Gut, es scheint so, dass die Punkte korrekt berechnet werden.

Was möchten Sie denn mit dem Wert nun machen? Sie könnten ihn z.B. mittels html() anzeigen oder mittels put() im Datensatz speichern...

Willkommen im Online-Support von SoSci Survey.

Hier bekommen Sie schnelle und fundierte Antworten von anderen Projektleitern und direkt von SoSci Survey.

→ Eine Frage stellen


Welcome to the SoSci Survey online support.

Simply ask a question to quickly get answers from other professionals, and directly from SoSci Survey.

→ Ask a Question

...