Pular para o conteúdo principal

Consultar campos complementares do Moodle no Banco de Dados MySQL

Essa postagem é uma continuação da postagem que fiz no sábado(08/03), Criando campos complementares no perfil de usuário do Moodle. Hoje vou mostrar como consultar esses campos complementares criados no perfil de usuário do Moodle no banco de dados através de SQL. Vamos lá!

Primeiramente, vamos conhecer as tabelas onde são armazenados esses campos e vamos utilizar para consultas:

mdl_user: Armazena informações do usuário (Nome, E-mail, Usuário...)
mdl_user_info_field: Armazena as informações e configurações do campo criado (Nome do campo, Tamanho, etc).
mdl_user_info_data: Armazena as informações, dos campos complementares, inseridas pelo usuário em seu perfil.

RESUMINDO: A tabela mais importante de todas é a mdl_user_info_data já que é nela que são armazenadas as informações que queremos dos campos complementares. A tabela mdl_user_info_data é composta por 5 campos, sendo os mais importantes deles: 

- ID: ID auto-incrementado da tabela
- USERID: ID do usuário que inseriu as informações no campo complementar
- FIELDID: ID do campo complementar criado na tabela mdl_user_info_field.
- DATA: Dado inserido pelo usuário no campo.

Conhecendo as tabelas, é só fazer o nosso SQL para realizar a consulta:

SELECT mdl_user.id as ID, upper(CONCAT(mdl_user.firstname, mdl_user.lastname)) as NOME, mdl_user_info_data.data as CAMPO FROM mdl_user_info_data 
INNER JOIN mdl_user ON
mdl_user.id = mdl_user_info_data.userid

WHERE mdl_user_info_data.fieldid = ID_CAMPO

No local de "ID_CAMPO" você irá colocar o ID do campo complementar que você criou. Para saber qual o ID do campo basta dar um SELECT simples na tabela mdl_user_info_field. Caso queira consultar todos os campos basta retirar a condições WHERE mdl_user_info_data.fieldid = ID_CAMPO. 

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

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.

[PERGUNTAS E RESPOSTAS] Como saber o número total de alunos cadastrados no Moodle através de uma consulta SQL?

Olá Pessoal, Tudo Bom! Hoje vamos fazer um POST com uma pergunta do Rodrigo nos comentários aqui do blog, que foi a seguinte: "Como saber o numero total de alunos cadastrados no Moodle através de uma consulta no Mysql?" Vamos entender primeiramente que o Moodle define suas permissões por contexto. Existem as permissões globais de administração e existem as permissões contextuais da sala de aula. Por exemplo: Um usuário em um determinado curso pode ser aluno e em outro determinado curso pode ser professor. Ou seja, creio que o mais prudente para se saber o número de fato de alunos seja saber o número de alunos por curso. Para isso fiz um post com o tema:  Relatório de alunos matriculados por curso no Moodle em SQL Diante disso, podemos saber todos os usuários que possuem o papel de aluno, através do SQL abaixo. SELECT count(DISTINCT(mdl_user.id)) as TOTAL  FROM mdl_role_assignments  JOIN mdl_user ON mdl_user.id = mdl_role_assignments.userid  JOIN mdl_...

Criando e Sincronizando Modelo Entidade-Relacionamento com MySQL Workbench

Olá Pessoal, tudo bem? Hoje vou mostrar duas funcionalidades muito interessantes do MySQL Workbench. Pra quem não sabe, o MySQL Workbench é uma ferramenta gratuita de criação, design, modelagem, além de outras funcionalidades de gerenciamento de bancos MySQL. É uma ferramenta muito completa, a minha preferida para trabalhar com banco de dados MySQL. Vamos lá! - Baixe e instale o Workbench. Para fazer o download clique aqui CRIANDO BANCO DE DADOS - Depois de instalado vá em CREATE NEW EER MODEL - Você poderá alterar o nome do banco de dados, clicando duas vezes no nome do banco, como na imagem abaixo. No meu caso dei o nome de "meu_banco": - Adicionando tabelas ao seu banco de dados. Veja na imagem abaixo: - Criei o nome de minha tabela "tbl_usuarios", criando os campos ID (INT, NOT NULL, e AUTO INCREMENTO), NOME, EMAIL, USUARIO, SENHA e DATA_CRIACAO. Você criará o seu banco de acordo a sua necessidade. O MySQL Workbench vai te fornecer s...