0 votes
in SoSci Survey (dt.) by s278251 (140 points)

Guten Tag,

ich habe eine Reihe von Fragen die ich, abhängig von der Bedingung in der sich die Teilnehmenden befinden, auf einer Seite anzeigen möchte. Da zu Beginn des Fragebogens ein Zufallsgenerator (MG17) die Teilnehmenden in Gruppen aufteilt, und ich diesen Code auf den folgenden Seite benutze um die entsprechenden Fragen anzuzeigen, nutze ich PHP und nicht die normalen Textbausteine um Fragen anzuzeigen. Nun möchte ich allerdings die Reihenfolge in der die Fragen auf einer Seite angezeigt werden randomisieren. Der Code sieht aus wie folgt;

if (value('MG17') == 1) {
question('ID08');
} if (value('MG17') == 2) {
question('ID09');
} if (value('MG17') == 3) {
question('ID02');
} if (value('MG17') == 4) {
question('ID08');
} if (value('MG17') == 5) {
question('ID09');
}

if (value('MG17') == 1) {
question('ID10');
} if (value('MG17') == 2) {
question('ID11');
} if (value('MG17') == 3) {
question('ID03');
} if (value('MG17') == 4) {
question('ID10');
} if (value('MG17') == 5) {
question('ID11');
}

if (value('MG17') == 1) {
question('ID13');
} if (value('MG17') == 2) {
question('ID12');
} if (value('MG17') == 3) {
question('ID14');
} if (value('MG17') == 3) {
question('ID04');
} if (value('MG17') == 4) {
question('ID16');
} if (value('MG17') == 5) {
question('ID12');
} if (value('MG17') == 5) {
question('ID15');
}

if (value('MG17') == 1) {
question('ID18');
} if (value('MG17') == 2) {
question('ID17');
} if (value('MG17') == 3) {
question('ID06');
} if (value('MG17') == 4) {
question('ID18');
} if (value('MG17') == 5) {
question('ID17');
}

if (value('MG17') == 1) {
question('ID20');
} if (value('MG17') == 2) {
question('ID19');
} if (value('MG17') == 3) {
question('ID07');
} if (value('MG17') == 4) {
question('ID20');
} if (value('MG17') == 5) {
question('ID19');
}

Wie kann ich diese Fragen nun in einer zufälligen Reihenfolge anzeigen?

1 Answer

0 votes
by SoSci Survey (306k points)

Sie könnten die Fragen erst in ein Array schreiben, dieses mischen, und dann anzeigen:

if (value('MG17') == 1) {
  $questions = ['ID08', 'ID10', 'ID13', ...];
} if (value('MG17') == 2) {
  $questions = ['ID09', 'ID11', 'ID12', ...];
} ...

shuffle($questions);
foreach ($question as $question) {
  question($question);
}

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

...