Pular para o conteúdo principal

Relatório de alunos matriculados por curso no Moodle em SQL

Olá Pessoal, tudo bem?

Hoje vou postar aqui uma consulta em SQL que vai retornar os alunos matriculados por curso no Moodle. Uma consulta simples que irá funcionar no MySQL.

SELECT mdl_user.id as ID, upper(CONCAT(mdl_user.firstname,mdl_user.lastname)) as NOME 
FROM mdl_role_assignments 
JOIN mdl_user ON mdl_user.id = mdl_role_assignments.userid 
JOIN mdl_context ON mdl_role_assignments.contextid = mdl_context.id 
WHERE mdl_role_assignments.roleid = 5 AND mdl_context.contextlevel = 50 AND mdl_context.instanceid = ID_CURSO 
ORDER BY firstname

Nessa consulta SQL utilizei as tabelas mdl_user (armazena as informações de usuário como nome, id, e-mail, etc), mdl_role_assignments (armazena as informações da matricula do usuário no curso) e mdl_context (armazena as informações do contexto desse usuário no curso.) 

No campo mdl_context.instanceid deverá será ser utilizado o ID DO CURSO. 

Para saber qual ID DO CURSO basta fazer um SELECT na tabela mdl_course

SELECT * FROM mdl_course WHERE fullname LIKE "A%"

Os comandos SQL UPPER utilizei para deixar as letras maiúsculas e o CONCAT para concatenar o nome e o sobrenome, já que no Moodle esses campos são separados, em um mesmo campo que chamei apenas de NOME.

É isso aí pessoal! Se gostou, divulgue o POST, comente e contribua. Se não gostou, comente também e vamos juntos melhorar.

Abraço a todos!

Comentários

  1. Como faço um relatório listando todos os cursos cadastrados no moodle e quantidade de alunos de cada curso?

    ResponderExcluir
    Respostas
    1. Muito Obrigado pelo acesso ao Blog.

      Baseado no seu pedido fiz esse Post com Relatório de alunos matriculado em todos os cursos Moodle. Dê uma olhada http://www.marceloalmeida.net/2014/05/relatorio-de-numero-de-alunos.html

      Abraços

      Excluir
    2. Olá,
      Muitíssimo obrigada, me ajudou bastante. Parabéns pelo blog!
      Abraços

      Excluir
  2. No caso o sql acima somente lista o nome dos usuários, preciso de um relatório mostrando o nome dos cursos e quantidade de alunos inscritos, se puder ajudar agradeço muito.

    ResponderExcluir
  3. Cara Muito obrigado, se puder faça um relatório do modulo de presença (moodle attendance) seria de grande ajuda tambem. Abraços

    ResponderExcluir
  4. Bom dia!

    Marcelo gostei muito do seu relatório, estou tentando mostrar também o Nome de usuário e senha e não estou conseguindo eu adaptei da seguinte forma

    SELECT mdl_user.id as ID, upper(CONCAT(mdl_user.firstname, mdl_user.lastname, mdl_user.username, mdl_user.password)) as NOME
    FROM mdl_role_assignments
    JOIN mdl_user ON mdl_user.id = mdl_role_assignments.userid
    JOIN mdl_context ON mdl_role_assignments.contextid = mdl_context.id
    WHERE mdl_role_assignments.roleid = 5 AND mdl_context.contextlevel = 50 AND mdl_context.instanceid = 13
    ORDER BY firstname

    ResponderExcluir

Postar um comentário

Postagens mais visitadas deste blog

Resolvendo problema na instalação do Moodle 3.1 [mysql_full_unicode_support]

Fala Galera! Recentemente fui instalar a versão do 3.1 do Moodle e me deparei com a seguinte mensagem de erro da instalação: Ou seja, a mensagem está falando que o seu banco de dados foi criado em um formato de arquivos não suportado. Na maioria das vezes a collaction criada automaticamente é LATIN1 e ele está pedindo UTF-8. Para resolver esse problema basta rodar o seguinte SQL em seu banco de dados MySQL. ALTER SCHEMA `NOME_DO_SEU_BANCO`  DEFAULT CHARACTER SET utf8  DEFAULT COLLATE utf8_general_ci; Feito isso prossiga normalmente com sua instalação do Moodle 3.1 e desfrute das novidades que essa versão traz. Espero que tenha gostado e até mais.

Tela personalizada de login do Moodle

As vezes queremos ou precisamos sair do tradicional e necessitamos fazer uma tela de login personalizada no Moodle. Em uma dessas necessidades que surgiu esse POST em que vou explicar como fiz uma tela personalidade para utilizar no Moodle. Lembrando sempre que existem inúmeras formas de se fazer a mesma coisa na programação, essa foi a forma que eu encontrei. Vamos lá: Primeiramente vamos contextualizar. Por padrão a tela de login do Moodle é como na imagem abaixo, ou ainda pode estar no index da página em um bloco de acesso.  (Clique na imagem para ampliar) 1º Criando o arquivo login.php Criei o arquivo PHP com os campos de usuário e senha e dei a ele o nome de login.php . Coloquei esse arquivo na pasta raiz do Moodle.  A grande questão desse arquivo é no parâmetro action do formulário. Ele aponta para o caminho login/index.php " que é o caminho de login tradicional do Moodle. Veja na imagem abaixo: 2º Usando o método isloggedin(); do Moodle E...

Configurar Aker Client no Windows

Hoje vou postar aqui sobre o Aker Client 1.0.10. O Aker Client é um software que faz a autenticação do cliente no Firewall da Aker. Muitas vezes se torna muito chato fazer essa autenticação de usuário e senha do domínio sempre que entramos no navegador ou qualquer programa que necessite de conexão com a internet. O Aker Client faz exatamente isso, pega seu login e senha do domínio e autentica diretamente no Aker Firewall não precisando ficar digitando sempre. Vamos lá! Primeiro faço o download e instale o Aker Client 1.0.10 Link para Download:  http://www.4shared.com/zip/lCUWcQLP/akerclient-1010-pt-win32-insta.html Depois de instalado vamos configurar o Aker Client: 1º Logado como administrador da máquina vá em Novo Servidor 2º Configuração do Novo Servidor 3º Vá em “Permissões de Acesso” 4º Servidor Configurado. Por enquanto não irá conectar já que não está logado como usuário do domínio. 5º Logar com um usuário do domínio e já estará conectado e autenti...