0 votes
in SoSci Survey (dt.) by s075705 (170 points)

Ich möchte in einem Fragebogen pro Seite jeweils 2 (zusammenhängende) Fragen anzeigen. Da ich jedoch über 300 Fragen habe, wäre es sehr umständlich dafür einzeln 150 Seiten zu erstellen und dann mittels PHP-Code einzufügen.

Gibt es eine Funktion, mit der ich alle Fragen in einem PHP-Code sammeln und über verschiedene Seiten verteilen kann? Also ähnlich wie bei der Rotation über mehrere Seiten, einfach ohne rotieren?

2 Answers

0 votes
by SoSci Survey (302k points)
edited by SoSci Survey

Hallo,

zunächst benötigen Sie eine Liste aller Frage-Kennungen - diese können Sie z.B. mittels getQuestions() erstellen - ggf. unter Zuhilfenahme von array_merge(), wenn sich die Fragen auf mehrere Rubriken verteilen (was bei >99 Fragen zwigend der Fall ist).

Mit dem Befehl loopPage() können Sie dann eine Seite beliebig oft wiederholen und z.B. immer zwei der Fragen anzeigen. Verwenden Sie ggf. noch array_chunk(), um die zweier-Grüppchen einfacher zuerstellen und auch mit einer ungeraden Anzahl von Fragen umzugehen.

// Liste der Fragen erstellen
$questions = array_merge(
  getQuestions('AB01'),
  getQuestions('AB02')
);

// In 2er-Grüppchen teilen
$sets = array_chunk($questions, 2);

// Die Seite für jedes Set wiederholen
$i = loopPage(count($sets));
$qNames = $sets[$i];
foreach ($qnames as $qID) {
  question($qID);
}

Hier noch eine Variante mit Attributen für die beiden Fragen:

// Liste der Fragen erstellen
$questions = array_merge(
  getQuestions('AB01'),
  getQuestions('AB02')
);

// In 2er-Grüppchen teilen
$sets = array_chunk($questions, 2);

// Die Seite für jedes Set wiederholen
$i = loopPage(count($sets));
question($sets[$i][0], 'number=no', 'spacing=4');
question($sets[$i][1], 'number=no', 'show-title=no', 'show-explanation=no', 'spacing=4');
0 votes
by s075705 (170 points)

Vielen Dank für die schnelle Antwort, dies hilft mir bereits weiter! Leider habe ich immer noch einige Unklarheiten:

  1. Die Reihenfolge der Fragen muss beibehalten werden, also keine Rotation. Auch müssen zuerst alle Fragen aus Rubrik1, dann aus Rubrik 2, Rubrik 3 etc. kommen, da diese thematisch sortiert sind. Im Moment ist die Reihenfolge aber zufällig und die Fragen der verschiedenen Rubriken gemischt.

  2. Gibt es eine Möglichkeit, den Abstand zwischen den zweier Grüppchen zu manipulieren, sowie den Titel der zweiten Frage auszuschalten? Beziehungsweise wo genau muss ich das in den obigen PHP-Code einbauen?
    Beim manuellen Zusammenstellen auf einer Seite habe ich jeweils folgenden Code benützt:

question('HI04', 'number=no', 'spacing=4');
question('HI05', 'number=no', 'show-title=no', 'show-explanation=no', 'spacing=4');

by SoSci Survey (302k points)
Hallo, der obige PHP-Code rotiert nichts? Könnten Sie evtl. ein wenig Debug-Information ergänzen? Was die Abstände und Darstellung angeht, habe ich oben eine Variante ergänzt.

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

...