自己登録されたユーザ一覧について

自己登録されたユーザ一覧について

- Yuuki Murakami の投稿
返信数: 2

いつもお世話になっております。村上です。

色々と質問をさせていただき、運用に利用させていただいております。
履修登録の修正作業を行っており、困ったため書き込みさせていただきました。

SQLにて「手動登録」で登録となった学生と「自己登録」で登録となった学生を
見分ける手段はありますでしょうか?

自己登録で登録されたユーザの一覧を取得したいと思っております。

Moodleは3.8.1、php7.2.11、mariadbは10.3.17になります。

Yuuki Murakami への返信

Re: 自己登録されたユーザ一覧について

- Mitsuhiro Yoshida の投稿
画像 Developers 画像 Particularly helpful Moodlers 画像 Translators

> 自己登録で登録されたユーザの一覧を取得したいと思っております。

「/tmp」ディレクトリにCSVファイル「self_enrolled_users.csv」を出力する以下のようなSQL文ではいかがでしょうか。

(SELECT 'coursee fullname','course shortname','enroll method','username','lastname','firstname','email address','time enrolled')
UNION
(SELECT CS.fullname,CS.shortname,EN.enrol,US.username,US.lastname,US.firstname,US.email,from_unixtime(UE.timecreated)
FROM
mdl_course AS CS
JOIN mdl_enrol AS EN
ON CS.id = EN.courseid AND EN.enrol = 'self'
JOIN mdl_user_enrolments AS UE
ON UE.enrolid = EN.id
JOIN mdl_user AS US
ON US.id = UE.userid
INTO OUTFILE '/tmp/self_enrolled_users.csv'
FIELDS TERMINATED BY ',' ENCLOSED BY '"' ESCAPED BY '"'
LINES TERMINATED BY '\r\n');

画面に表示する場合は以下のとおりです。

SELECT CS.fullname AS 'Coursee Fullname', CS.shortname AS 'Course Shortname', EN.enrol AS 'Enroll method', US.username AS'Username', US.lastname AS 'Lastname', US.firstname AS 'Firstname', US.email AS 'email address', from_unixtime(UE.timecreated) AS 'time enrolled'
FROM
mdl_course AS CS
JOIN mdl_enrol AS EN
ON CS.id = EN.courseid AND EN.enrol = 'self'
JOIN mdl_user_enrolments AS UE
ON UE.enrolid = EN.id
JOIN mdl_user AS US
ON US.id = UE.userid;
評点平均: お役立ち度: ★★★★★★★ (2)
Mitsuhiro Yoshida への返信

Re: 自己登録されたユーザ一覧について

- Yuuki Murakami の投稿

Yoshida様、お返事ありがとうございます。

連絡ありがとうございました。
活用して無事に抽出することが出来ました。

本当に助かりました。

以上、宜しくお願い致します。