Moodle学生列表与组和课程

问题描述 投票:0回答:2

我正在使用moodle2.4.6。我想要一个用户列表及其组和课程。

moodle
2个回答
2
投票

您需要执行SQL查询才能获取此信息。

假设您使用表的默认“mdl_”前缀,则需要将以下表连接在一起:

  • mdl_user - 用户的详细信息
  • mdl_user_enrolments - (user_enrolments.userid = user.id)用户具有哪些课程注册
  • mdl_enrol - (enrol.id = user_enrolments.enrolid)这些注册实例的详细信息
  • mdl_course - (course.id = enrol.courseid)这些用户所加入课程的详细信息
  • mdl_groups_members - (groups_members.userid = user.id)这些用户所在群组的详细信息
  • mdl_groups - (groups.id = groups_members.groupid AND groups.courseid = course.id)用户所在群组的名称和描述(针对每门课程)

如果您需要帮助将该伪代码转换为实际SQL,或者您需要有关Moodle数据库访问API(http://docs.moodle.org/dev/Data_manipulation_API)的帮助,请发表评论


0
投票
SELECT
  mdl_user.username,
  mdl_user.firstname,
  mdl_user.lastname,
  mdl_course.fullname,
  mdl_course.idnumber,
  mdl_groups_members.groupid,
  mdl_groups.name
FROM (mdl_groups_members
  INNER JOIN ((mdl_course
    INNER JOIN (mdl_user_enrolments
      INNER JOIN mdl_enrol ON mdl_user_enrolments.enrolid = mdl_enrol.id)
      ON mdl_course.id = mdl_enrol.courseid) INNER JOIN mdl_user ON mdl_user_enrolments.userid = mdl_user.id)
    ON mdl_groups_members.userid = mdl_user.id) INNER JOIN mdl_groups
    ON (mdl_groups.courseid = mdl_course.id) AND (mdl_groups_members.groupid = mdl_groups.id)
WHERE (((mdl_user.username) = "102993") AND ((mdl_course.category) = "36"))
© www.soinside.com 2019 - 2024. All rights reserved.