我已经检查了这个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'
如果有人有想法,请告诉我......谢谢!!
答案 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(并检查开始/结束日期,但这对于基本情况应该足够了。
(对任何拼写错误道歉 - 我没有在我面前测试此代码)