Liebes Support-Team,
gerne würde ich Daten von meiner Vorerhebung in meine Tagebuchstudie übertragen. Dazu habe ich auch eine Anleitung auf SoSci.de gefunden. Allerdings weiß ich nicht genau, wie ich das Beispiel für meine Studie anpassen kann. Bisher habe ich es so gemacht:
In der Vorerhebung einer Tagebuchstudie wird in Kategorien abgefragt, welche Aufgaben eine Person bei ihrer Arbeit hat (Mehrfachauswahl). In den weiteren Erhebungen der Tagebuchstudie wird die täglich abgefragt, welche Aufgaben die Person an diesem Tag gemacht hat. Dafür sollen nur die Kategorien angeboten werden, die in der Vorerhebung ausgewählt wurden (auch per Mehrfachauswahl).
In der Vorerhebung werden die zutreffenden Kategorien mit der Mehrfachauswahl „TA01“ auf Seite 12 des Fragebogens abgefragt. Auf Seite 13 (oder später) wird die Auswahl in der Datenbank vermerkt:
PHP-Code:
$kategorie = getItems('TA01', 'is', 12);
$key = 'TA-'.caseSerial(); // Dem Teilnahmecode wird noch ein "FS-" vorangestellt, damit in der Datenbank auch noch andere Inhalte gespeichert werden können.
dbSet($key, $kategorie);
In den täglichen Fragebögen wird abgefragt, welche ihrer generellen Aufgaben die Personen heute gemacht haben (mit „TA03“). Diese Frage enthält dieselben Items wie Mehrfachauswahl „TA01“ in derselben Reihenfolge. Folgender PHP-Code liest die Daten aus der Datenbank und zeigt nur die entsprechenden Eingabefelder an:
PHP-Code:
$key = 'FS-'.caseSerial();
$kategorie = dbGet($key);
question('TA03', $kategorie);
--> Frage 1: Füge ich anstelle der angelegten Frage nur den PHP-Code in den Tagebuch-Fragebogen ein? Muss TA03 im Format offene Texteingabe sein oder kann ich hier auch eine Mehrfachauswahl anlegen?
Wichtig: dbGet() liefert immer ein Array – auch wenn man mit dbSet() nur einen einzelnen Wert speichert.
Wenn man im ersten Fragebogen einen einzelnen Wert speichert, muss man im anderen Fragebogen mittels eckiger Klammer ([0]) auf das erste (und einzige) Array-Element zugreifen.
--> Frage 2: Ab hier verstehe ich den Code nicht mehr: Was ist RG01? Wie würde der Code hier für mein Beispiel oben aussehen?
PHP-Code:
$group = value('RG01');
$key = 'RG-'.caseSerial(); // Auch hier wird ein Präfix für den Datenbank-Eintrag verwendet, um alle Optionen offen zu halten
dbSet($key, $group);
PHP-Code:
$key = 'RG-'.caseSerial();
$data = dbGet($key);
if ($data) {
$group = $data[0];
// Zwischenspeichern des Werts in eine interne Variable,
// um den Wert später via value() zu verwenden (optional)
put('IV01_01', $group);
} else {
// Fehlermeldung anzeigen, dass etwas schief gelaufen ist
show('XY01');
put('IV01_01', -1);
}
Ich würde mich sehr freuen, wenn Sie mir meine beiden Fragen (oben, fett gedruckt) beantworten könnten. Ganz lieben Dank schon einmal!