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

0 votes
$values = valueList('EN01');
arsort($values);
 
$order = array_keys($values);
$threshold = $values[$order[2]];
$greater = array();
$equal = array();
foreach ($values as $varID => $value) {
  $itemID = (int)ltrim(substr($varID, 4), "0");
  if ($value > $threshold) {
    $greater[] = $varID;
  } elseif ($value == $threshold) {
    $equal[] = $varID;
  }
}
 
shuffle($equal);
$needed = 3 - count($greater);
$items = array_merge($greater, array_slice($equal, 0, $needed));
 
question('EN11', $items);

Das ist Derzeit der Code - eig. 1:1 aus der Anleitung übernommen, die ja eigentlich "maßgeschneidert" auf mein Problem war. Da gibt mir der Fragebogen allerdings den Fehler aus: "Für die Frage EN11 wurde kein Item mit der Kennung 0 gefunden" (und zwar 3x taucht der Fehler auf der Debug Seite auf - vermutlich wegen dem Versuch die Top 3 abzurufen...)

Haben Sie eine Idee wo der Haken hängt?
Könnte es daran liegen, dass vor den Fragen EN01 bereits ein Filter liegt, der auch schon diese Items filtert oder sollte das unabhängig voneinander funktionieren?

Liebe Grüße und Danke!

in SoSci Survey (dt.) by s049805 (345 points)
edited by SoSci Survey
Könnten Sie vor der letzten Zeile question() bitte einmal folgenden Code einfügen und berichten, was die Debug-Information anzeigt?

debug($greater);
debug($equal);
debug($items);

Danke.
Debug-Information für $greater:
0EN01_08, 1EN01_03
Hinweis (Seite 14)
Debug-Information für $equal:
0EN01_01
Hinweis (Seite 14)
Debug-Information für $items:
0EN01_08, 1EN01_03, 2EN01_01
Warnung (Seite 14)
Für die Frage EN11 wurde kein Item mit der Kennung 0 gefunden
Warnung (Seite 14)
Für die Frage EN11 wurde kein Item mit der Kennung 0 gefunden
Warnung (Seite 14)
Für die Frage EN11 wurde kein Item mit der Kennung 0 gefunden

1 Answer

0 votes

Danke für die Debug-Information. In der Tat enthielt die Anleitung da noch einen Fehler. Und zwar war es oben in der Anleitung richtig - am Ende im "Gesamtcode" aber falsch (nun korrigiert).

Es muss beim Sammeln der Werte $itemID statt $varID heißen:

  if ($value > $threshold) {
    $greater[] = $itemID;
  } elseif ($value == $threshold) {
    $equal[] = $itemID;
  }
by SoSci Survey (91.8k points)
Funktioniert leider immer noch nicht... ich erstelle mal eine neue Frage...
PHP Code klappt nicht - V2.0
...