Exporter la liste des professeurs de chaque cours

Exporter la liste des professeurs de chaque cours

par Sal Sotor,
Nombre de réponses : 6

Bonjour,

Je souhaiterais exporter la liste des professeurs et des cours dans lesquels ils sont inscrits uniquement comme enseignant pour avoir un fichier xls du style :

username, shortname   (ex: matricule,cours0001)
.....

Je suis arrivé a exporter tous les utilisateurs pour tous les cours, mais il me manque la filtre par rôle qui se trouve dans la table 
mdl_role : editingteacher qui correspond à l'ID 3


SELECT mdl_user.username, mdl_course.shortname from mdl_course,mdl_enrol,mdl_user_enrolments,mdl_user WHERE mdl_course.id=mdl_enrol.courseid AND mdl_enrol.id=mdl_user_enrolments.enrolid AND mdl_user_enrolments.userid=mdl_user.id

Si quelqu'un a une idée, merci


Sal.


Moyenne des évaluations  -
En réponse à Sal Sotor

Re: Exporter la liste des professeurs de chaque cours

par Christian Bocquet,
Avatar Moodleurs particulièrement utiles
Bonjour,

Pour écrire votre requête vous trouverez des idées dans celle-ci:

Je pense que vous aurez juste à ajouter la condition:
WHERE ra.roleid = 3 AND ctx.contextlevel = 50
pour se limiter au rôle editingteacher et au contexte cours.

Christian
En réponse à Christian Bocquet

Re: Exporter la liste des professeurs de chaque cours

par Christophe BOITEUX,
Avatar Moodleurs particulièrement utiles
Bonjour, avec ces éléments cela devrait donner une requête de ce type (en respectant votre syntaxe).

SELECT mdl_user.username, mdl_course.shortname
FROM mdl_course,mdl_enrol,mdl_user_enrolments,mdl_user,mdl_role_assignments,mdl_context
WHERE mdl_course.id=mdl_enrol.courseid
AND mdl_enrol.id=mdl_user_enrolments.enrolid
AND mdl_user_enrolments.userid=mdl_user.id
AND mdl_role_assignments.userid=mdl_user.id
AND mdl_context.id=mdl_role_assignments.contextid
AND mdl_context.contextlevel=50
AND mdl_role_assignments.roleid=3

Dites-nous si cela fonctionne ?
En réponse à Christophe BOITEUX

Re: Exporter la liste des professeurs de chaque cours

par Sal Sotor,
Bonjour

Merci à tous pour vos réponses clin d’œil
J'ai testé la requête mais il me sort les profs inscrits à leurs cours avec le rôle enseignant, mais aussi à d'autres cours dans lesquels ils ont un rôle étudiant
La requête ne filtre pas avec le roleid=3

ex : Pierre est prof dans cours X001 et étudiant dans X002,X003, la réquête n'arrive pas à isoler X001

Je pense avoir la solution et je posterai si cela fonctionne
Sal
En réponse à Sal Sotor

Re: Exporter la liste des professeurs de chaque cours

par Sal Sotor,
Voici la requête qui fonctionne

SELECT mdl_user.username,mdl_user.firstname,mdl_user.lastname,mdl_role_assignments.roleid,mdl_role_assignments.contextid,mdl_context.instanceid,mdl_course.shortname FROM mdl_user
left JOIN mdl_role_assignments ON mdl_user.id=mdl_role_assignments.userid
left JOIN mdl_context ON mdl_context.id=mdl_role_assignments.contextid
left join mdl_course ON mdl_course.id = mdl_context.instanceid
WHERE mdl_role_assignments.roleid=3
ORDER BY `mdl_user`.`firstname` ASC
Moyenne des évaluations Utile (1)
En réponse à Sal Sotor

Re: Exporter la liste des professeurs de chaque cours

par Christophe BOITEUX,
Avatar Moodleurs particulièrement utiles
Oui c'est mieux avec une jointure on a un meilleur résultat. La syntaxe est meilleure.
Cordialement