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

Hi,

Ich versuche gerade Fragenblöcke (arrays) zu routieren und anschließend in einer Frage zu platzieren. Folgender Code:

$blocks = array(
    1 => array(233,1,32,13,149,148,82,7,19,333),
    2 => array(210,67,72,30,4,8,23,310),
    3 => array(221,47,155,15,143,78,77,76,9,65,321),
    4 => array(226,27,152,10,6,68,80,326),
    5 => array(227,3,146,18,11,64,327),
    6 => array(205,2,70,147,28,26,85,69,305),
    7 => array(209,25,14,154,36,71,38,309),
    8 => array(225,150,5,61,12,79,34,91,325)
  );

debug($blocks);
$keys = array_keys($blocks);
shuffle($keys);
debug($keys); 
$items = array();
foreach ($keys as $key) {
    $items = array_merge($items, $blocks[$key]);
}
debug($items);

question("HI13",$items);

Dash mischen funktioniert eigentlich, aber im Fragebogen werden Blöcke immer in alphabetischer Reihenfolge angezeigt. Es handelt sich um den Fragetyp "Erweiterte Auswahl" mit einer Oberkategorie und eine Unterkategorie. In den Einstellungen ist die Reihenfolge mit "Wie in der Frage angegeben" eingestellt.

Viele Grüße

ago in SoSci Survey (dt.) by u083756 (510 points)
Nur mal zum Testen ... was passiert denn, wenn Sie auf einer anderen Seite des Fragebogen nur folgenden PHP-Code platzieren:

question("HI13", [79,91,225,150,5]);

Wird das passend ausgegen oder hakt es da schon?

Generell kann es bei der erweiterten Auswahl passieren, dass die Struktur aus Ober- und Unterkategorien ein wenig Ärger bereitet. Aber zu einer alphabetischen Sortierung sollte das nicht führen.
das fuktioniert schon mal. Ich habe auch ein bisschen rumprobiert. Ich denke das problem ist, dass im $items ein array mit key and value gespeichert ist. Jetzt versuche ich die keys zu löschen und nur die values in einem array zu speichern, das ist mir aber noch nicht gelungen. Haben Sie hier vlt ein Tip?
ich wollte var_dump($items); nutzen, aber dann kommt:
Warnung: Die Funktion var_dump() ist nicht zur Verwendung im Fragebogen freigegeben.

2 Answers

0 votes

Mit debug() sollten Sie eigentlich alle notwendigen Informationen bekommen, die var_dump() auch liefern würde. Nur eben ohne den Fragebogen zu zerschießen ;)

Jetzt versuche ich die keys zu löschen und nur die values in einem array zu speichern

Das wäre mit array_values() möglich. Aber ich sehe eigentlich nicht, woher Ihr Code Schlüssel nehmen sollte?! Also abgesehen von 0, 1, 2, ..., den Indizes, die jedes Array hat. Und überhaupt sollte der question()-Befehl Schlüssel im Array ignorieren.

Sie haben die Items ja nicht wild gemischt, sondern immer die kompletten Blöcke. Was zeigt das debug() denn genau an und was wird im Fragebogen angezeigt?

ago by SoSci Survey (245k points)
Ich habe ein Screenshot hochgeladen mit der debug Information
0 votes

Debug sagt folgendes:

ago by u083756 (510 points)
Das sieht soweit alles gut aus. Aber ich vermute, das Citroen nicht (!) den Code 210 hat und daher nicht an erster Stelle auftauchen sollte?

Würden Sie mir folgenden Gefallen tun: Öffnen Sie bitte einmal diese Mehrfachauswahl, exportieren Sie Frage als XML-Datei und senden Sie sie an die info@soscisurvey.de. Dann versuche ich einmal, das Problem anhand Ihres PHP-Codes zu replizieren.
...