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

Ich möchte, dass aus einer Liste zum Ankreuzen, nur die Frageseiten von maximal 3 der angekreuzten Optionen in zufälliger Reihenfolge angezeigt werden. Ist das irgendwie möglich?
Momentan bin ich mit der Filterfunkion soweit, dass alle Frageseiten zu den angekreuzten Objekten angezeigt werden.
Ich würde aber gerne die Fragenanzahl verringer, daher nur maximal 3 weitere Frageseiten und diese in zufälliger Reihenfolge angezeigt.

in SoSci Survey (dt.) by s134393 (120 points)

1 Answer

0 votes

Sie können mit getItems() eine Liste (Array) der ausgewählten Optionen ermitteln, diese mittels shuffle() zufällig mischen und dann die ersten drei Elemente der Liste verwenden. Am besten speichern Sie diese in 3 interne Variablen.

Für die Anzeie der drei Fragen empfehle ich entweder loopPage() oder setPageOrder().

Details gerne auf Nachfrage. Posten Sie dann bitte auch gleich den PHP-Code, wie weit Sie gekommen sind.

by SoSci Survey (102k points)
Vielen Dank für die Antwort. Ich arbeite leider zum ersten mal mit PHP-Codes, daber bin ich schon bei der Liste ausgestiegen.
Gibt es da keine "einfachere Lösung"?
Ganz werden Sie um PHP nicht umhin kommen. Immerhin möchten Sie eine individuelle Fragebogen-Logik haben, die vielleicht in 0,1% aller Befragungen benötigt wird.

Beginnen Sie mal mit dem getItems(). Dazu finden Sie in der Anleitung und hier im Online-Support viele Beispiele. Dann versuchen Sie bitte, das Ergebnis der Funktion mittels debug() anzuzeigen. Und wenn Sie sich soweit durchgebissen haben (es sind nur 2 Zeilen Programmcode), ist PHP gar nicht mehr so schlimm :)
Ok vielen Dank.
Ich habe mich jetzt ein bisschen mit PHP-Codes und Filterfragen beschäftigt und ich denke ich habe den ersten Schritt geschafft. Es werden jetzt die Werte der ausgewählten Antwortmöglichkeiten angezeigt.
Mittels Filterfragen werden nun auch nur mehr die Seiten mit Fragen zu den Teams angezeigt, die vorher ausgewählt wurden. (ich habe je Team eine eigene Frageseite erstellt.)

Jetzt bräuchte ich noch Hilfe dabei, dass nur mehr die Seiten zu maximal 3 Teams angezeit werden.
Und wenn mehr als 3 ausgewält werden, die 3 angezeiten Teams zufällig angezeit werden.
Gibt es da eine möglichkeit? random() ??

Vielen Dank schon einemal für die Hilfe.
Der Übersichtlichkeit halber wäre es sinnvoll, wenn Sie weitere Fragen als neue Frage hier im Support posten - am besten gleich mit dem PHP-Code, den Sie bereits programmiert haben.

> Jetzt bräuchte ich noch Hilfe dabei, dass nur mehr die Seiten zu maximal 3 Teams angezeit werden.

Kein Problem... Zunächst mischen Sie einmal die Liste, die Sie mit getItems() ermittels haben. Falls Ihre Variable $liste heißt, würde das wie folgt aussehen:

shuffle($liste);

Und dann nehmen Sie die (max.) ersten drei Element:

$liste3 = array_slice($liste, 0, 3);
...