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.
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
Postar um comentário