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

Guten Tag,

ich habe ein Szenario in dem ich Sätze in der Datenbank hinterlegt habe, die ich per Zufallsgenerator auswähle und in mehreren Bedingungen anzeige. Hier der vorherige Thread:

https://support.soscisurvey.de/?qa=55175/randomisiertes-auswahlen-zetteln-datenbank-zufallsgenerator#c55349

Hier mein aktueller Code:

if (value('MG17') == 1) {
  text('MG18');
} if (value('MG17') == 2) {
  text('MG20');
} if (value('MG17') == 3) {
  text('MG19');
} if (value('MG17') == 4) {
  text('MG18');
} if (value('MG17') == 5) {
  text('MG20');
}


$vars = valueList('FR01', NULL, 'label');



foreach ($vars as $varID) {
  $key = value($varID, 'label');
  $inhalt = dbGet($key);
  html('
    <p> '.$inhalt[0].' </p>
  ');  
}

Diesen Code weiderhole ich auf drei nachfolgenden Seiten für die drei Wahrnehmungstypen die ich in meiner Studie habe. Allerdings möchte ich nun das, je nach Bedingung, alle Wahrnehmungstypen auf einer Seite mit den Sätzen beschrieben werden.
Ein Beispiel hierfür wäre;

Figurseher: Z. trennte sich von seiner Frau und muss von seinen Kindern getrennt leben."
Formseher: N. hat einen Schachmeister besiegt und sich für die nationalen Schachmeisterschaften qualifiziert.
Figurseher: E. kocht gesunde Mahlzeiten und isst frisches Gemüse und Obst.
Grundseher: M. hat nicht das erreicht, was er im Leben wirklich wollte.
....

Anstatt was der Code gerade erzeugt;

Formseher:
Z. trennte sich von seiner Frau und muss von seinen Kindern getrennt leben.
N. hat einen Schachmeister besiegt und sich für die nationalen Schachmeisterschaften qualifiziert.
E. kocht gesunde Mahlzeiten und isst frisches Gemüse und Obst.
M. hat nicht das erreicht, was er im Leben wirklich wollte.
....
Dann auf der nächste Seite;
Grundseher:
...

Ich möchte die Label Figurseher, Formseher und Grundseher vor den Sätzen haben. Diese korrespondieren mit den Werten 1-5 die MG17 ausgibt. Das sind

1 = Form
2 = Grund
3 = Figur
4 = Form
5 = Grund 

Ich hoffe ich konnte mein Szenario verständlich darstellen und freue mich über Hilfe!

ago by s278251 (140 points)
Ich verstehe die Logik von dem Befehl value noch nicht ganz. Was trage ich in die Klammer anstatt der Punkte ein und warum? Wo kann ich das array finden? Soll ich den Befehl in den Fragebogen ans Ende der Seite einpflegen? Wo wird mir dann das array angezeigt? Wie kann ich mit dem Befehl replace arbeiten? Verstehe noch nicht was wo ersetzt werden soll.
Stehe etwas auf dem Schlauch hier.
ago by SoSci Survey (306k points)
Der Befhel value() holt eine Antwort aus dem Datensatz. Der erste Parameter ist der Variablenname (s. Anleitung zu value()), der zweite Parameter verrät, was genau geholt werden soll ... also der Antwortcode, der Antworttext oder im Fall von "csv" dass die Antwort an den Kommas getrennt und als Array zugegeben werden soll.

Sie erhalten dann also eine Liste der Werte in einer Zeile des Zufallsgenerators. Und mit denen können Sie dann arbeiten. So ein Wert kann z.B. via PHP-Filter darüber entscheiden, welcher Stimulus gezeigt wird, oder wie lange eine Seite gezeigt wird.

Beim "wie lange" haben SIe ja ohnehin einen HTML-/JavaScript-Code, und dort steht an irgendeiner Stelle die gewünschte Dauer. Diese Stelle würden Sie durch einen Platzhalter ersetzen. Und einsetzen würden Sie den Wert, den Ihnen value(...) geliefert hat.
ago by s278251 (140 points)
Ich glaube jetzt verstehe ich Ihre Idee besser. Allerdings sind die Sätze die ich benutze nicht als Text-Variablen abgespeichert sondern in einer excel Tabelle in der Datenbank für Inhalte hinterlegt. Ist es dann immer noch möglich die Präfixe via Platzhalter davor zuschalten?

Wenn ja, hinterlege ich dann die Gruppennamen in dem Zufallsgenerator der die Versuchspersonen in die Bedingungen einteilt (MG17) oder erstelle ich einen neuen?
ago by SoSci Survey (306k points)
Ob Sie Zahlen oder Kürzel (Datenbank-Schlüssel)im Zufallsgenerator hinterlegen, macht keinen großen Unterschied. Zufallsgenerator und value() liefern Ihnen ja "nur" die Werte, was Sie anschließend damit machen, bleibt Ihnen überlassen.

Platzhalter sollten auch dann funktionieren, wenn sie in der Datenbank für Inhalte stehen, und deren Inhalt per html() ausgegeben wird. Oder Sie können - wenn Sie den Text ohnehin in einer Variable haben - den Namen auch einfach durch das Verketten von Strings ergänzen.

> Wenn ja, hinterlege ich dann die Gruppennamen in dem Zufallsgenerator der die Versuchspersonen in die Bedingungen einteilt (MG17) oder erstelle ich einen neuen?

Nachdem die Gruppennamen fix an die Versuchsgruppen gebunden sind, würde ich sie direkt in dem bereits existierenden Zufallsgenerator hinterlegen.
ago by s278251 (140 points)
Ich habe die Gruppenbezeichnungen nun in MG17 hinterlegt und bekomme auch ein Array ausgegeben mit dem value() Befehl.

Wie kann ich dieses Array nun für die Platzhalter benutzen?

In der Anleitung steht ich sollte diesen Platzhalter via '$' erstellen, aber ich weis nicht wie ich auf das Array Bezug nehmen kann. Ginge das über; $gruppe = value('MG17','csv'); ?

Wie kann ich die Gruppennamen vor die Sätze schalten, muss ich dafür ein %Platzhalterwort% in jeden Satz in der Datenbank einfügen oder gibt es noch einen einfacheren Weg?

Leider habe ich die Sätze nicht in Textvariablen angelegt.

Please log in or register to answer this 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

...