0 votes
in SoSci Survey (dt.) by s092700 (305 points)
edited by SoSci Survey

Hallo liebes Supportteam,

ich habe eine Frage bzgl. der Rotation von Seiten. Ich möchte einen Fragebogen mit 176 Items erheben. Für die bessere Übersicht habe ich die Items auf insgesamt 12 Seiten verteilt mit ca. 15 Items pro Seite. Auf den Seiten selbst erscheinen die Items randomisiert/bzw. rotiert. Ich möchte allerdings auch, dass die verschiedenen Seiten mit den Items auch rotieren. Ich habe den passenden Befehl gefunden, es funktioniert aber leider nicht. Ich habe den Seiten eine Kennung gegeben und den Befehl auf der letzten Seite eingefügt, die nicht rotieren soll. Auch die Seite, die nach den Rotationsseiten wieder fest stehen soll, habe ich mit einer Kennung versehen und im Befehl berücksichtigt. So sieht der Befehl aus:

<!-- Seite 5 -->
<page intID="22">
<question id="IN02" intID="23" />
if (!isset($seiten)) {
  $seiten = array('AK1', 'AK2', 'AK3', 'AK4', 'AK5', 'AK6', 'AK7', 'AK8', 'AK9', 'AK10', 'AK11', 'AK12');
  shuffle($seiten);
  $seiten[] = 'EN';
  registerVariable($seiten);
}
setPageOrder($seiten);
</page>

Es klappt leider nicht. Muss der Befehl vielleicht anders positioniert werden? Ist es egal an welcher Stelle unter Seite 5 (letzte Seite vor Rotation) der Befehl erfolgt? Muss es vor dem page-Befehl kommen?

Ich bin über jede Hilfe dankbar!

1 Answer

0 votes
by SoSci Survey (325k points)

Ich möchte einen Fragebogen mit 176 Items erheben.

Nicht gut ... da brauchen Sie schon enorm motivierte Teilnehmer... Ich hoffe, Sie zahlem jedem Teilnehmer min. 10 Euro bar.

Ihr PHP-Code sieht eigentlich ganz korrekt aus. Er sollte auf der Seite vor "AK1" stehen. Wenn er dort steht, posten Sie doch bitte einmal die Debug-Information dieser und der folgenden Seite.

by s092700 (305 points)
Keine Sorge, es handelt sich dabei lediglich um eine Akzeptanzbefragung, heißt: würde ich das Item beantworten Ja/Nein. Bekannte und Familie werden teilnehmen, die können das händeln ;-)

Das ist die Seite, auf der der Code steht (vor AK1):

[Information]    Interview gestartet (neue Nummer 23)
[Information]    Der Fragebogen OPD_KF_Arbeitskontext im Projekt tutorial154126 wird verwendet
[Verarbeitung]    Erstelle Fragebogen-Seite Nr. 5
[Inhalt]    Erstelle Frage IN02

Die darauffolgende Seite, also AK1:

[Information]    Interview gestartet (neue Nummer 24)
[Information]    Der Fragebogen OPD_KF_Arbeitskontext im Projekt tutorial154126 wird verwendet
[Verarbeitung]    Erstelle Fragebogen-Seite Nr. 6
[Inhalt]    Erstelle Frage AK01
[Inhalt]    Erstelle Frage FE01

Vielen Dank für die Hilfe!
by SoSci Survey (325k points)
Auf der Seite "vor AK1" wird das setPageOrder() nicht aktiv. Meine Vermutung wäre, dass Sie weiter vorne im Fragebogen irdendwo schonmal die Variable $seiten verwenden und mittels registerVariable() für alle Seiten verfügbar machen. Das isset() sorgt deshalb dafür, dass der Code auf der Seite "vor AK1" nicht mehr aktiv wird.

Lösung: Wählen Sie einen anderen Namen für die Variable:

if (!isset($seiten1)) {
  $seiten1 = array('AK1', 'AK2', 'AK3', 'AK4', 'AK5', 'AK6', 'AK7', 'AK8', 'AK9', 'AK10', 'AK11', 'AK12');
  shuffle($seiten1);
  $seiten1[] = 'EN';
  registerVariable($seiten1);
}
setPageOrder($seiten1);

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

...