With username
postcount=0
Loop through
SELECT DISTINCT(mdl_course_display.course)
FROM mdl_course_display,mdl_user
WHERE mdl_user.username=username
AND
mdl_course_display.userid=mdl_user.id
Loop through
End loopFROM mdl_course_display,mdl_user
WHERE mdl_user.username=username
AND
mdl_course_display.userid=mdl_user.id
Loop through
SELECT DISTINCT (mdl_forum_posts.id)
FROM mdl_forum_posts,mdl_forum_discussions,mdl_user
WHERE
mdl_forum_posts.discussion=mdl_forum_discussions.id
AND
mdl_user.username=username
mdl_user.lastlogin < mdl_forum_posts.modified
AND
mdl_forum_discussions.course = courseid
If at endofloop
End loopFROM mdl_forum_posts,mdl_forum_discussions,mdl_user
WHERE
mdl_forum_posts.discussion=mdl_forum_discussions.id
AND
mdl_user.username=username
mdl_user.lastlogin < mdl_forum_posts.modified
AND
mdl_forum_discussions.course = courseid
If at endofloop
If lengthofloop > 0
postcount = postcount + lengthofloop
If postcount > 0, output postcount, else output 0
End With
My actual code looks a little different (the SQL calls are functions) but this gives the general idea. So far in my testing this outputs the right total.