0 votes
in SoSci Survey (dt.) by s283253 (110 points)

Hallo,

ich habe Daten aus einer vorherigen Befragung, die über einen individuellen Code gematcht werden sollen. Die Datei habe ich schon im CSV-Format hochgeladen. In der ersten Spalte befindet sich der Schlüssel/ID, in den anderen Spalten unterschiedliche Daten, die die Personen in der ersten Befragung angegeben haben.
Nun sollen die ProbandInnen am Anfang des Fragebogens ihren Schlüssel/ID eingeben und bei mehreren Fragen sollen unterschiedliche Spalten aus der Tabelle eingefügt werden.

  1. Wie kann ich den eingegebenen Schlüssel/ID für das Matchen aus der Tabelle nutzen?

  2. Es können nicht mehrere Daten aus der Datenbank angezeigt werden. Hier kommt immer die folgende Meldung: "Die Antwortoptionen einer Mehrfachauswahl können in der aktuellen Programmversion nicht dynamisch aus der Datenbank geladen werden." Wie kann ich mehrere Daten aus der Tabelle in der Frage anzeigen lassen?

  3. Ich möchte bei einer Frage die vorherigen Antworten aus einer Liste nur markiert bekommen. Es wird also in der Frage eine Liste angezeigt und die Aspekte, die von der Person vorher schon genannt wurden, sind visuell hervorgehoben.

  4. Wie kann ich bei der Frage des Fragentyps "erweiterte Auswahl" zusätzlich zu den Daten aus der Tabelle eine offene Antwortmöglichkeit hinzufügen?

  5. Wie kann man bei einer Frage des Fragentyps "Skala (Zwischenwerte beschriftet)" eine offene Antwortmöglichkeit hinzufügen?

Viele Grüße

1 Answer

0 votes
by SoSci Survey (327k points)

ad 1) Lesen Sie den persönlichen Code aus der entsprechenden Variable aus, und verwenden Sie ihn dann als ersten Parameter in dbGet()

$code = value('XY01');
$data = dbGet($code);

ad 2) kommt darauf an, was Sie wie angezeigen lassen möchten. dbGet() liefert erstmal ein Array (s. Anleitung) mit der kompletten Zeile aus der Datenbank.

ad 3) Das mit dem markieren ist nicht ganz trivial. Wenn Ihnen ein Symbol vor/hinter dem Text ausreicht, könnten Sie z.B. mit Platzhaltern arbeiten. Ansonsten müssten Sie ein wenig in CSS einsteigen.

ad 4) Versuchen Sie es bitte anhand der Anleitung Eingabefelder frei platzieren.

ad 5) Dafür empfehle ich das Vorgehen entsprechend Fragen aneinanderhängen.

by s283253 (110 points)
Vielen Dank für Ihre Hilfe. Leider klappt es nicht so, wie in den entsprechenden Seiten angegeben.
Wir haben im Fragebogen Follow-up_Int_t2 auf der ersten Seite die VersuchspersonenID als Eingabefeld. Diese lesen wir auf Seite zwei mit folgendem Code aus und versuchen die Datenbankinhalte entsprechend auszulesen (wir haben eine CSV bei Spezialfunktionen hochgeladen, in dem in der ersten Spalte die VersuchspersonenID hinterlegt wurde) .

$ID = value('ID01_01');
$data = dbGet($ID);

Anschließend haben wir mit nachfolgendem Code versucht die Antwortoptionen von Frage ID02 zu bestücken.

if ($data!== false) {
  preset('ID02_01', $data[3]);
  preset('ID02_02', $data[4]);
  preset('ID02_03', $data[5]);
  preset('ID02_04', $data[6]);
}

Können Sie uns weiterhelfen?
by SoSci Survey (327k points)
> Diese lesen wir auf Seite zwei mit folgendem Code aus

Klappt das soweit? Was zeigt debug($data) denn an?

Sind die Daten nach dem Ausfüllen des ersten Fragebogens korrekt in der Datenbank für Inhalte hinterlegt?
by s283253 (110 points)
Ja, die Daten sind in der Datenbank für Inhalte korrekt hinterlegt.

zur ID lauten die Debug Informationen:
Debug-Information für $ID:
$ID = F14000977 (string)

zu data lauten die DebugInformationen:
Debug-Information für $data:
0:14000977, 1:Tennis, 2:Zeitdruck, 3:Bequemlichkeit, 4:schlechtes Wetter, 5:, 6:Einkaufen für den täglichen Bedarf, 7:Bequemlichkeit, 8:schlechtes Wetter, 9:, 10:, 11:, 12:, 13:, 14:, 15:, 16:, 17:, 18:, 19:, 20
by s283253 (110 points)
Diese Fehlermeldung wird ausgegeben:

Im PHP-Code trat ein Fehler auf.

Fehler im Fragebogen: Undefined variable $data
by SoSci Survey (327k points)
Haben Sie beide Teile des PHP-Codes im selben Element "PHP-Code" stehen? Sonst klappt es nicht.
by s283253 (110 points)
Der Zugriff auf die Inhalte hat mit Ihrer Hilfe geklappt. Wie können die Informationen aus dem Array für die Auflistung der Antwortoptionen genutzt werden? Wir möchten dass die Inhalte mehrerer Spalten aus der Datenbank als Antwortoptionen für eine Frage mit erweiterter Auswahl übernommen werden:

$ID =  value('ID01_01');

$data = dbGet($ID);

$grunde = array_slice($data, 1,10);
 
question('ER05', $grunde);
by SoSci Survey (327k points)
Schwer zu beantworten. Ich sehe zwar oben die Struktur der Daten, aber da scheinen die meisten Felder leer zu sein. Und es scheinen dort vor allem Texte zu stehen, keine numerischen Codes für die Items?

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

...