quarta-feira, 9 de fevereiro de 2011

Consultar Quantidade de Visita (Login) do Usuário no Moodle com Comando SQL

Para montar um relatório sobe a quantidade de vezes que o usuário entrou, ou seja, logou no ambiente do Moodle, é necessário fazer uma consulta diretamente no banco de dados. Isso porque a interface que o Moodle disponibiliza ainda não oferece esse tipo de informação.

A informação sobre a quantidade de visita fica na tabela de log. Aqui entendemos a quantidade de visita diferente da quantidade de acesso. A visita se refere ao número de vezes que o usuário entrou no Moodle usando login e senha. A quantidade de acesso é o número de cliques ou de páginas que acessou dentro do Moodle.
A consulta dever ser feita na tabela mdl_log com filtro no campo action. Segue os comandos SQL.

SQL para extrair quant. de visita por um determina usuário

SELECT COUNT(id) AS qvisita FROM mdl_log WHERE action='login' AND userid=?

Passe o parâmetro id do usuário em userid=?

Essa consulta retorna a quantidade de visita apenas de um determinado usuário.


SQL para extrair lista de quant. de visita de todos os usuários

SELECT u.id, u.firstname, u.lastname, COUNT(l.id) AS qvisita FROM mdl_user u INNER JOIN mdl_log l ON u.id = l.userid WHERE action='login' GROUP BY u.id, u.firstname, u.lastname ORDER BY COUNT(l.id) DESC

Essa consulta retorna uma lista de usuário ordenado pela quantidade de visita. Os usuários mais logaram no Moodle aparecem primeiro.


Agora que você já tem o comando SQL, monte o relatório do Moodle usando a linguagem de programação da sua preferência.

5 comentários:

  1. Muitíssimo obrigado Lino Vaz, você me quebrou um galho!
    Em qualquer coisa que puder ajudar, estarei aqui!

    ResponderExcluir
  2. E no caso de um usuario nao possuir login?

    O administrador por exemplo nao possui alguns campos de login, pois quando ele se instala o moodle por ele, ele ja esta logado

    ResponderExcluir
  3. O administrador do Moodle é um usuário como qualquer outro. A única diferença é o seu perfil de acesso que é administrador, ou seja, tem acesso irrestrito ao sistema. Qualquer usuário com perfil administrador terá os mesmos privilégios que o administrador criado durante a instalação. Na instalação do Moodle, dois usuários são criado. O visitante e o administrador. Ambos têm login. Inclusive o login e a senha do administrador devem ser informados para completar a instalação.

    O id padrão do administrador criado durante a instalação é 2. O login padrão é admin se não for alterado. A consulta sobre quantidade de vezes que o administrador logou no sistema pode ser feita com o seguinte comando SQL:

    SELECT COUNT(id) AS qvisita FROM mdl_log WHERE action='login' AND userid=2

    ResponderExcluir
  4. Olá amigo,
    Tem como saber qual é o ID do ultimo usuario que logou?!

    ResponderExcluir
  5. Eliezer,
    Para ver como extrair id do último usuário que logou no Moodle acesse o post http://moodlesql.blogspot.com/2011/12/recuperar-id-do-ultimo-usuario-logado.html
    Caso queira recuperar id da session PHP do usuário logado, recuperar o id do usuário na variável global $USER->id

    ResponderExcluir