0 votes
in SoSci Survey (dt.) by s222544 (565 points)

Hallo,

meine Frage ähnelt dieser hier https://support.soscisurvey.de/?qa=31149/schieberegler-auf-festen-wert-fixieren, jedoch mit dem Unterschied, dass die Anfangswerte vom Zufallsgenerator der ersten Seite bestimmt werden sollen.

Zum Beispiel sollte der Zufallsgenerator EX06 Zeile 1 auswählen, so sollen die die drei Schieberegler jeweils 60, 35 und 5 anzeigen, was bereits in EX06 hinterlegt ist. Interne Variablen existieren bereits, genauso wie putlist().

Als Veranschaulichung hier die ersten 5 Zeilen des Zufallsgenerators:
01 = 60, 35, 5
02 = 0, 93, 7
03 = 86, 5, 9
04 = 5, 86, 9
05 = 32, 55, 13

Ich habe versucht das durch
preset('HR01_01', value('EX06_01'));
preset('HR01_02', value(‘EX06_02'));
preset('HR01_03', value(‘EX06_03'));

zu erreichen, jedoch führt das nicht zum Ziel. Genauso wenig hilft es nur value('EX06') zu benutzen - dann wird nur die ausgewählte Zeile (in diesem Fall wären alle Regler auf 1) angezeigt - nicht aber die Werte. Das ist nicht das, was ich möchte.

Auch habe ich versucht $codes = valueList('EX06'); zu verwenden und dann $codes in preset() einzufügen, auch leider nicht mit dem gewünschten Ergebnis.

Ich bin für Hilfe sehr dankbar!

by SoSci Survey (305k points)
> jedoch führt das nicht zum Ziel.

Sieht aber korrekt aus. Was zeigt denn die Debug-Information (rechts oben) auf dieser Seite? Wichtig ist natürlich, dass Sie den Test ab der Seite starten, wo der Zufallsgenerator einen Wert zieht.
by s222544 (565 points)
edited by s222544
Vielen Dank für den Hinweis mit der Debug-Information, ich konnte das Problem der Anzeige lösen. Die nächste Frage ist, wie addiere ich 1 zu dem angezeigten Wert, um genau das anzuzeigen, was der Proband eingegeben hat?

preset('HR01_01', value('EX07_01'+1));
preset('HR01_02', value('EX07_02'+1));
preset('HR01_03', value('EX07_03'+1));

funktioniert leider nicht genauso wenig wie 'EX07_01' add one o.Ä.

Jetzt habe ich probiert mit $Zahl 1 = 1 zu arbeiten, mit folgendem Ergebnis:

Im PHP-Code trat ein Fehler auf.
Fehler im Fragebogen: Unsupported operand types: string + int
Zeile: 4

PHP-Code

001 namespace s2survey\questionnaire\environment;
002
003 $zahl1 = 1;
004 preset('HR01_01', value('EX07_01'+$zahl1));
005 preset('HR01_02', value('EX07_02'+$zahl1));
006 preset('HR01_03', value('EX07_03'+$zahl1));
007 return 'ok';

Ebenso fehlerhaft ist auch das:

Im PHP-Code trat ein Fehler auf.
Fehler im Fragebogen: Unsupported operand types: string + int
Zeile: 8

PHP-Code

005 $zahl07_02 = 'EX07_02';
006 $zahl07_03 = 'EX07_03';
007
008 preset('HR01_01', value($zahl07_01+$zahl1));
009 preset('HR01_02', value($zahl07_02+$zahl1));
010 preset('HR01_03', value($zahl07_03+$zahl1));
011 return 'ok';

 
Leider habe ich auf den Hilfeseiten nur Code zu SPSS gefunden, nicht jedoch zu PHP passend zu meinem Problem.

Ich würde gerne nur die Anzeige auf dieser Seite beeinflussen, nicht wie die internen Variablen kodiert sind, damit meine Auswertung von 0-101 (Werte im Schieberegler) nicht beeinflusst wird.

P.S. EX07 sind die internen Variablen.

Vielen Dank im Voraus!

1 Answer

0 votes
by SoSci Survey (305k points)

wie addiere ich 1 zu dem angezeigten Wert, um genau das anzuzeigen, was der Proband eingegeben hat?

Beachten Sie die Klammern, und was die Funktionen machen. Die Funktion value() holt sich einen Wert aus der Datenbank. Entsprechend muss das Plus hinter die Klammer der Funktion.

preset('HR01_01', value('EX07_01') + 1);
by s222544 (565 points)
Vielen Dank!

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

...