terça-feira, 12 de abril de 2011

Extrair o Primeiro Acesso do Aluno no Curso do Moodle com Comando SQL

    Para extrair o primeiro acesso do aluno em um curso do Moodle com comando SQL, basta fazer uma consulta na tabela mdl_log, usando a função MIN do SQL.

    A tabela mdl_log registra todos os cliques que o usuário efetuar no ambiente do Moodle. Para extrair a data do primeiro acesso de um curso, basta efetuar a consulta executando o seguinte comando:

Primeiro acesso de usuário (aluno, tutor etc.) no curso
SELECT MIN(time) FROM mdl_log WHERE userid=? AND course=?
 
Passe o parâmetro id do usuário em userid=?  e  id do curso em course=?

Caso queira extrair uma lista de todos os alunos com a data do primeiro acesso de um determinado curso, execute o seguinte comando SQL:

Primeiro acesso de todos os alunos de um determinado curso

SELECT u.id, u.firstname,u.lastname,MIN(l.time) FROM mdl_role_assignments rs INNER JOIN mdl_user u ON u.id=rs.userid INNER JOIN mdl_context e ON rs.contextid=e.id INNER JOIN mdl_log l ON l.userid=u.id  WHERE e.contextlevel=50 AND rs.roleid=5 AND e.instanceid=? AND l.course=? GROUP BY u.id, u.firstname,u.lastname

Passe o parâmetro  id do curso em e.instanceid=?  e  l.course=?

     A data do primeiro acesso é recuperada na coluna time da tabela mdl_log. Vem em quantidade de segundos. É necessário fazer conversão para entender. Bem, neste caso é hora de usar uma linguagem de programação da  sua preferencia para converter. 


Veja Também
Extrair o Primeiro Acesso de um Participante no Curso do Moodle com Programação PHP