Matrix-Tabelle) Nutzer * Kursabschluss möglich?

Matrix-Tabelle) Nutzer * Kursabschluss möglich?

von Uchendu Nwachukwu -
Anzahl Antworten: 1

Geehrte Moodler

Wir verwenden Moodle um ganze Unternehmen zu schulen. Um den Ausbildungsverantwortlichen eine Übersicht über ihre Mitarbeiter zu bieten, möchten wir ihnen gerne eine Matrix-Tabelle zur Verfügung stellen, in der sie den Ausbildungsstand überprüfen können. Die Spalten könnten jeweils das Abschlussdatum beinhalten und mit dem Kursnamen betitelt werden. Etwa so:


Ich habe bereits einige Möglichkeiten versucht, leider habe ich etwas eingeschränkte SQL- und PHP-Fähigkeiten. Gerne hätte ich von euch eine Machbarkeitsschätzung oder, was natürlich noch besser wäre, einen konkreten Lösungsvorschlag.

Was ich bisher versucht habe
Direkte SQL-Abfrage auf phpmyadmin. Dabei kann ich alle Nutzer (auch einzelne oder Gruppen) und ihr Kursabschlussdatum, der Kurse in die sie eingeschrieben sind, darstellen. Allerdings werden mir die Datensätze untereinander dargestellt und so wird es bei einer grösseren Anzahl Datensätze schnell unübersichtlich.¨


Dafür verwende ich folgendes SQL:

SELECT u.username, c.fullname, cc.timecompleted
FROM mdl_user u
LEFT JOIN mdl_course_completions cc
ON u.id = cc.userid
LEFT JOIN mdl_course c
ON cc.course = c.id

Damit das SQL von der Moodle-Seite aus gestartet werden kann, würde ich das Plugin configurable reports verwenden. (Selbstverständlich müsste man das Tabellenprefix anpassen)


Ich bin froh um jeden Ratschlag. Mich würde auch interessieren, ob es einen anderen Lösungsweg als SQL gibt Vielleicht gibt es ja sogar bereits ein Plugin mit dieser Funktion?


Gruss

uchendu

Mittelwert:  -
Als Antwort auf Uchendu Nwachukwu

Re: Matrix-Tabelle) Nutzer * Kursabschluss möglich?

von Uchendu Nwachukwu -
Falls jemand das gleiche Problem hat:

select u.id as id, u.username, GROUP_CONCAT(IFNULL(cc.timecompleted, 'xx') order by cc.course) as timeCompleted, GROUP_CONCAT(c.shortname order by c.id) as courses from mdl_user u LEFT JOIN mdl_course_completions cc ON u.id = cc.userid LEFT JOIN mdl_course c ON cc.course = c.id group by u.id


Diese SQL abfrage erstellt eine unübersichtliche Darstellung, beinhaltet aber alle Informationen. Für eine übersichtlichere Darstellung kann mit einem PHP-Script erzielt werden, in dem die Abfragen aufgeteilt werden.