2015-10-20 101 views
0

我想獲取用戶上次完成課程的日期,我有以下工作SQL,但它給出了錯誤的日期。當用戶完成課程Moodle日期

我有日期的所有模塊,但知道他們錯了,因爲那裏有幾個月的時間,我知道1個課程是昨天完成的。

SELECT 
u.username, 
c.shortname,   
DATE_FORMAT(FROM_UNIXTIME(gi.timemodified), '%d/%m/%Y') AS 'date' 
FROM moodle.user u 
JOIN moodle.grade_grades g ON g.userid = u.id 
JOIN moodle.grade_items gi ON g.itemid = gi.id 
JOIN moodle.course c ON c.id = gi.courseid 
WHERE u.email = ? 
GROUP BY c.shortname 

回答

2

課程的完成應該在mdl_course_completions

SELECT u.username, 
     c.shortname,   
     cc.timecompleted 
FROM mdl_course_completions cc 
JOIN mdl_course c ON c.id = cc.course 
JOIN mdl_user u ON u.id = cc.userid 
WHERE u.email = :email 
+0

不能使用一個作爲課程的完成表是空的。但謝謝你的建議。 +1 –

+0

您使用的是哪個版本的Moodle?並讓你完成課程? https://docs.moodle.org/29/en/Course_completion –

+0

我不知道,它是一個獨立的系統,我沒有訪問,我給的所有是隻讀連接到數據庫來提取信息 –

相關問題