0 votes
ago in SoSci Survey (dt.) by s109993 (13.4k points)

Ich habe eine Datenbank für Inhalte mit Serial-Nummern für den Login ("Lehrkraft"). Jede Serial hat bis maximal 30 Nummern ("Schüler") die ebenfalls in der Datenbank pro Inhalte angelegt sind (immer von Spalte 1 auffüllend).

Jetzt würde ich gerne die Nummer der Schüler untereinander auf der ersten Seiten anzeigen lassen, nachdem sich eine Lehrkraft eingeloggt hat.

 // Platzhalter Schüler
// -------------------------------------

$key = caseSerial();
$preload = dbGet($key);
if ($preload !== false) {
	replace('%Schüler_1%', $preload[1]);    // Schüler 1
	replace('%Schüler_2%', $preload[2]);    // Schüler 2
// usw.

}

Wie bekomme ich die Liste jetzt dynamisch mit html unteraneinder, so dass immer nur die Schüler IDs angezeigt aus der Datenbank für Inhalte angezeigt werden- das sind ja php Platzhalter.

1 Answer

0 votes
ago by SoSci Survey (378k points)
selected ago by s109993
 
Best answer

Wie bekomme ich die Liste jetzt dynamisch mit html unteraneinder

Verwenden Sie eine FOR-Scheife z.B. wie folgt:

if ($preload) {
  html('<ul>');
  foreach ($preload as $name) {
    html('<li>'.htmlspecialchars($name).'</li>');
  }
  html('</ul>');
}
ago by s109993 (13.4k points)
ok, das ist schon mal relativ einfach :) ich hatte noch das folgende Gedankenspiel- wenn das den Rahmen des Forums sprengt, gerne sagen.

Für jede dieser IDs, soll die Lehrkraft die gleiche Abfolge von ca. 8 Fragen beantworten. Ich dachte daran, die IDs als Links zu benutzen (buttonToPage). Nachdem die Fragen für eine IDs beantwortet wurde, springt man wieder zurück auf die Übersichtsseite mit allen IDs und wählt die nächste aus. Wäre das generell eine Idee, die man umsetzen könnte oder gibt es eine elegantere Lösung anstatt buttonToPage?
ago by SoSci Survey (378k points)
Die elegante Lösung wäre eine Multi-Level-Struktur: https://www.soscisurvey.de/help/doku.php/de:create:multilevel - aber bitte überlegen Sie gut, ob Sie einer Lehrkraft so eine monotone Aufgabe antun möchten. Da kommt man bei 25 Schüler:innen gleich auf 200 Fragen.
ago by s109993 (13.4k points)
Danke- das schau ich mir an. Ich stimme Ihnen zu, was den Arbeitsaufwand angeht- leider auch hier sind wir nur ausführende Hand (IEA Hamburg hier :)
ago by SoSci Survey (378k points)
Ach, ja, mitunter ist den Kunden Nächstenliebe wahrlich schwer zu kommunizieren ;)

Einen kleinen Hinweis noch zur Multilevel-Struktur: Wenn Sie den gleichnamigen Fragetyp verwenden, dann zeigt die Frage die Liste mit den Namen direkt an, und man kann die Personen einzeln anklicken, um die pro-Schüler-Fragen zu beantworten.

Es gibt aber auch die Option, die Liste sequenziell automatisch per Loop abzuarbeiten.
ago by s109993 (13.4k points)
edited ago by s109993
Edit: habe es hinbekommen

eine Frage zu den Zufallsziehungen in einer Multilevel-Struktur: wenn ich im Hauptfragebogen einen Zufallsgenerator setze, kann ich dann die Variable des Zufallsgenerators im Sub-Fragebogen benutzen? Zum Beispiel:

if (value('X001') == 1) {
question('A002', '1-8');
} elseif (value('X001') == 2) {
question('A002', '1-4', '9-12');
} elseif (value('X001') == 3) {
question('A002', '1-4', 5, 6, 9, 10);
} elseif (value('X001') == 4) {
question('A002', '1-4', 7, 8, 11, 12);
} elseif (value('X001') == 5) {
question('A002', '1-4', 5, 6, 11, 12);
} elseif (value('X001') == 6) {
question('A002', '1-4', 7, 8, 9, 10);
} elseif (value('X001') == 7) {
question('A002', '5-12');
}

Oder hat der Sub-Fragebogen hier kein Zugriff auf die Daten aus dem Hauptteil?
ago by SoSci Survey (378k points)
Wenn Sie mit multiLevelDown() arbeiten, können Sie als zweiten Paramter Informationen an den untergeordneten Fragebogen übergeben. Das kann ein einzelner (Schüler-)Name sein oder z.B. ein Array mit Name und gezogenem Code.

Wenn Sie mit der MultiLevel-Fragetyp arbeiten, muss ich nochmal ein wenig suchen. Die Möglichkeit, Daten in den übergeordneten Fall zu schreiben, bietet multiLevelPut(), aber für lesenden Zugriff müssten wir evtl. noch (kurzfristig) eine Funktion ergänzen.
ago by s109993 (13.4k points)
Ich habe es mit multiLevelDown() hinbekommen und konnte damit mehrere Parameter an den untergeordneten Fragebogen geben.

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

...