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

Hallo,

ich habe 6 Fragen auf 6 verschiedenen Seiten, deren Reihenfolge rotieren muss. Das heißt, im Grunde muss die Reihenfolge der 6 Seiten rotieren. Konkret geht es um die Fragen, die hier von Seite 7 bis 12 erscheinen: https://www.soscisurvey.de/sensingeurope/?act=WCk8BVyvnT5hx10itDAijhG3

Ich hatte diese Rotation programmiert, indem ich am Ende von Seite 6 (also die Seite, die vor der Seite kommt, wo die Rotation beginnen muss) folgenden PHP-Code eingefügt habe:

if (!isset($seiten)) {
// Liste der Seiten definieren
$seiten = array('BT01','BT02','BT03','BT04','BT05','BT06');
// Liste mischen
shuffle($seiten);
// Die Seite ergänzen, wo es nachher weiter geht
$seiten[] = 'GO';
// Reihenfolge zwischenspeichern, um spätere Änderung zu vermeiden
registerVariable($seiten);
}
setPageOrder($seiten);

Das hat einwandfrei funktioniert.

Ich möchte jetzt aber zusätzlich, dass auch die Items der Fragen rotieren. Sie müssen aber parallel rotieren, also so, dass alle 6 Fragen dieselbe rotierte Item-Abfolge verwenden. Das habe ich nach Ihrer Anleitung mit dem folgenden Code auf der ersten Seite realisiert:

if (!isset($itemsAB)) {
$itemsAB = getItems('CC07', 'all');
shuffle($itemsAB);
registerVariable($itemsAB);
}
question('CC07', $itemsAB);

und mit dem folgenden Code auf den Folgeseiten (mit jeweils 'CC08', 'CC09'...):

question('CC08', $itemsAB);

Wenn ich das mit der Fragebogen-Vorschau teste (sowohl unter "Fragebogen zusammenstellen" als auch durch den oben angegebenen Pretest-Link), funktioniert die Rotation der Items sehr gut, aber die Rotation der Fragen/Seiten dafür leider nicht mehr.

Sind die 2 Rotationen, so wie ich sie programmiert habe, nicht "miteinander kompatibel"?
Kann man dieses Problem irgendwie beheben?

Vielen Dank im Voraus für die Hilfe.

Liebe Grüße,
Alessandra

in SoSci Survey (dt.) by s122410 (350 points)

1 Answer

0 votes

funktioniert die Rotation der Items sehr gut, aber die Rotation der Fragen/Seiten dafür leider nicht mehr.

Seltsam ... eigentlich dürften sich die beiden Rotation nicht in die Quere kommen.

Ich würde empfehlen, dass Sie die beiden PHP-Code für die Rotation auf dieselbe Seite (6) packen. Außer natürlich, wenn die Item-Abfolge schon früher im Fragebogen benötigt wird.

Meine Vermutung wäre, dass der PHP-Code für die Seiten-Rotation nicht mehr korrekt zum EInsatz kommt. Bitte prüfen (und posten) Sie einmal die Debug-Information auf Seite 6. Die Variable $seiten verwenden Sie sonst nirgends im Fragebogen, oder?

by SoSci Survey (117k points)
Die Variable $seiten verwende ich sonst nirgends, genau.

Wenn der PHP-Code für die Rotation auf der Seite 5 steht (das ist die Seite, die vor den 6 Seiten kommt, die rotieren müssen), sehen die Debug-Informationen so aus:

Seite 5 - https://ibb.co/R6x3P0F
Seite 6 - https://ibb.co/n8c6Mhb

Wenn der PHP-Code für die Rotation auf derselben Seite steht, wo die Rotation beginnen soll (Seite 6), sehen die Debug-Informationen so aus:

Seite 6 - https://ibb.co/8xgtN8B
Seite 7 - https://ibb.co/yfZVpJr

Wenn ich das gut verstehe, in diesem zweiten Fall rotieren die Seiten 7 bis 11 schon, aber die Seite 6 kommt immer als erste dran. Wenn man den PHP-Code für die Rotation aber auf Seite 5 platziert, wird ja einen Fehler angezeigt ("The PHP variable $itemsAB has been used but the variable is yet undefined"). Allerdings ersheint dieser z.B. nicht, wenn man die Vorschau durch einen Pretest-Link öffnet (er startet bei Seite 5): https://www.soscisurvey.de/sensingeurope/?act=RtiGdd7PxU4YdwHUtsMlUIt6
> Wenn der PHP-Code für die Rotation auf der Seite 5 steht (das ist die Seite, die vor den 6 Seiten kommt, die rotieren müssen), sehen die Debug-Informationen so aus:

Das sollte soweit korrekt sein. Die Frage ist: Wie sieht die Debug-Information aus, wenn Sie ab der Seite starten wo die Items rotiert werden - und dann bis zur Seite 5/6 durchklicken?
Ah - so langsam verstehe ich. Sie haben den Code für die Items nach (!) dem Code für die Seiten-Rotation?

Zumindest verstehe ich das so, weil Sie hier bei den Screenshots auf Seite 6 starten. In dem Fall packen Sie bitte den Code für $itemsAB gemeinsam mit dem Code für setPageOrder() auf Seite 5 und starten Sie den Test auch ab dort.
Ja genau, ich hatte den Code für die Items nach dem Code für die Seiten-Rotation. So, ich habe das jetzt geändert und habe jetzt auf Seite 5 diesen Code stehen:

if (!isset($seiten)) {
  // Liste der Seiten definieren
  $seiten = array('BT01','BT02','BT03','BT04','BT05','BT06');
  // Liste mischen
  shuffle($seiten);
  // Die Seite ergänzen, wo es nachher weiter geht
  $seiten[] = 'GO';
  // Reihenfolge zwischenspeichern, um spätere Änderung zu vermeiden
  registerVariable($seiten);
}
setPageOrder($seiten);

if (!isset($itemsAB)) {
  $itemsAB = getItems('CC07', 'all');
  shuffle($itemsAB);
  registerVariable($itemsAB);
}

und das hat tatsächlich das Problem gelöst.
Jetzt scheint alles zu funktionieren, ich freue mich!

Vielen Dank :)

Liebe Grüße,
Alessandra
...