如何在moodle 1.9中获取学生所属的课程列表?

时间:2014-08-14 21:33:12

标签: moodle

我已经检查了这个question,但是我的数据库中没有发布一些表格(I' m 也使用相同的前缀' mdl _')

我想知道是否有人知道可以打印特定学生注册的课程的查询。我尝试了这个没有输出任何错误的查询,它只是没有显示正确的信息: ($ userid在语句之前声明)

SELECT c.fullname
FROM mdl_course c
LEFT OUTER JOIN mdl_context cx ON c.id = cx.instanceid
LEFT OUTER JOIN mdl_role_assignments ra ON cx.id = ra.contextid
AND ra.roleid =  '5'
LEFT OUTER JOIN mdl_user u ON ra.userid = u.id AND u.id = $userid
WHERE cx.contextlevel =  '50'

如果有人有想法,请告诉我......谢谢!!

1 个答案:

答案 0 :(得分:0)

这看起来像是Moodle 1.9查询。

对于Moodle 2,你需要这样的东西:

SELECT c.fullname
FROM mdl_course c
JOIN mdl_enrol e ON e.courseid = c.id
JOIN mdl_user_enrolment ue ON ue.enrol = e.id 
WHERE ue.userid = [userid]

更全面的查询还会检查enroll和user_enrolment记录的status = 0(并检查开始/结束日期,但这对于基本情况应该足够了。

(对任何拼写错误道歉 - 我没有在我面前测试此代码)