0 votes
in SoSci Survey (dt.) by s178195 (120 points)
edited by SoSci Survey

Hallo Zusammen,

bei der Rotation meines Fragebogens ist folgendes Problem aufgekommen:

Im Fragebogen habe ich drei Blöcke und die darin enthaltenen Seiten, die jeweils rotiert werden sollen. Dafür habe ich vier Zufallsgeneratoren angelegt, die folgendermaßen aussehen:

RG01 - für die 3 Blöcke (1 Zettel wird gezogen):

1 = A0, S1-S60, S61-S79, S80-S117
2 = A0, S1-S60, S80-S117, S61-S79
3 = S61-S79, A0, S1-S60, S80-S117
4 = S61-S79, S80-S117, A0, S1-S60
5 = S80-S117, A0, S1-S60, S61-S79
6 = S80-S117, S61-S79, A0, S1-S60

RG02 (20 Zettel werden gezogen):

01 = S1-S3
[…]
20 = S58-S60

RG03 (8 Zettel werden gezogen):

1 = S64-S65
[…]
7 = S76-S77
8 = S78-S79

RG04 (36 Zettel werden gezogen):

01 = S82 
[…]
36 = S117

Diese habe ich auf eine Seite im Fragebogen eingefügt und darunter folgenden PHP-Code eingefügt:

$blockfolge = array_values(valueList('RG01'));
$blocks = [
  1 => valueList('RG02', null, 'label'),
  2 => valueList('RG03', null, 'label'),
  3 => valueList('RG04', null, 'label'),
];
$gesamtliste = array_merge(
  $blocks[$blockfolge[0]],
  $blocks[$blockfolge[1]],
  $blocks[$blockfolge[2]]
);
setPageOrder($gesamtliste, 'S118');

Es wird mir folgendes angezeigt:

In der Funktion setPageOrder() wurde ein ungültiger Parameter vom Typ NULL angegeben. Als Parameter sind entweder Strings (Texte) erlaubt oder Arrays, die ausschließlich Strings enthalten.

Wenn ich die Befehle debug($blocks[$blockfolge[0]]); debug($blocks[$blockfolge[1]]); und debug($gesamtliste); einfüge, wird folgendes angezeigt:

Debug-Information für $blocks[$blockfolge[0]]:
Keine Daten (null)
Hinweis (Seite 3)
Debug-Information für $blocks[$blockfolge[1]]:
Keine Daten (null)
Hinweis (Seite 3)
Debug-Information für $blocks[$blockfolge[2]]:
Keine Daten (null)
Hinweis (Seite 3)
Debug-Information für $gesamtliste:
Keine Daten (null)

Weiß jemand, wo das Problem liegen könnte?

1 Answer

0 votes
by SoSci Survey (302k points)

Weiß jemand, wo das Problem liegen könnte?

Ändern Sie bitte den Inhalt des Zufallsgenerators RG01 wie folgt:

1 = Block 1
2 = Block 2
3 = Block 3

Ziehen Sie daraus pro Interview drei Zettel. Erst dann ergibt valueList('RG01') inhaltlich Sinn.

by s178195 (120 points)
Vielen Dank! Jetzt wird mir nicht mehr überall angezeigt "Keine Daten (null)". Jedoch aber noch für Blockfolge[2] und Gesamtliste:

Hinweis (Seite 3)
Debug-Information für $blocks[$blockfolge[0]]:
RO02x01S31-S33, RO02x02S28-S30, RO02x03S10-S12, RO02x04S58-S60, RO02x05S34-S36, RO02x06S19-S21, RO02x07S22-S24, RO02x08S1-S3, RO02x09S52-S54, RO02x10S16-S18, RO02x11S46-S48, RO02x12S7-S9, RO02x13S40-S42, RO02x14S55-S57, RO02x15S43-S45, RO02x16S25-S27, RO02x17S49-S51, RO02x18S37-S39, RO02x19S4-S6, RO02x20S13-S15
Hinweis (Seite 3)
Debug-Information für $blocks[$blockfolge[1]]:
RO04x01S92 , RO04x02S88 , RO04x03S94 , RO04x04S103, RO04x05S87 , RO04x06S108 , RO04x07S107 , RO04x08S110 , RO04x09S115 , RO04x10S113 , RO04x11S102 , RO04x12S84 , RO04x13S89 , RO04x14S93 , RO04x15S85 , RO04x16S116 , RO04x17S101 , RO04x18S99 , RO04x19S97 , RO04x20S86 , RO04x21S117, RO04x22S91 , RO04x23S96 , RO04x24S109 , RO04x25S100 , RO04x26S105, RO04x27S104, RO04x28S90 , RO04x29S106 , RO04x30S95 , RO04x31S112 , RO04x32S98 , RO04x33S82 , RO04x34S83 , RO04x35S114 , RO04x36S111
Hinweis (Seite 3)
Debug-Information für $blocks[$blockfolge[2]]:
Keine Daten (null)
Hinweis (Seite 3)
Debug-Information für $gesamtliste:
Keine Daten (null)
by SoSci Survey (302k points)
Lassen Sie sich doch den Inhalt der Blockfolge mal anzeigen, dann sehen wir weiter:

debug($blockfolge);
by s178195 (120 points)
Jetzt wird folgendes angezeigt und die Items auch randomisiert.

Debug-Information für $blockfolge:
1, 3, 2

Allerdings soll vor jedem Block in RG1 (1 = A0, S1-S60, 2 = S61-S79, 3 = S80-S117) eine kurze Anleitung angezeigt werden, was im Block zutun ist. z.B. in Block 1 die Seite A0, in Block 2 die Seite S61. Diese soll natürlich nicht randomisiert werden und immer zu Anfang stehen. Das tut sie allerdings noch nicht.

Gibt es hierfür noch eine Lösung?
by SoSci Survey (302k points)
> Jetzt wird folgendes angezeigt und die Items auch randomisiert.

Auf Basis dieser Informationen sehe ich keinen Grund, warum der Ausdruck

$blocks[$blockfolge[2]]

nicht funktionieren (also NULL zurückliefern) sollte. Aber wenn ich Sie korrekt verstehe, tritt das mittlerweile auch gar nicht mehr auf?

> Allerdings soll vor jedem Block in RG1 (1 = A0, S1-S60, 2 = S61-S79, 3 = S80-S117) eine kurze Anleitung angezeigt werden

Das ist einfach:

$blocks = [
  1 => array_merge(['anweisung1'], valueList('RG02', null, 'label')),
  2 => array_merge(['anweisung2'], valueList('RG03', null, 'label')),
  3 => array_merge(['anweisung3'], valueList('RG04', null, 'label'))
];

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

...