Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

AlanD

[Resolvido] Consulta em mais de 1 tabela

Recommended Posts

Bom gente, boa tarde, eu estou com um problema mas pelo fato de eu não conhecer muito a fundo de SQL acabo me deparando com esse pequeno desafio xD

Simples, eu preciso fazer uma consulta em 3 tabelas ao mesmo tempo para um sistema de login.

 

Exemplo: entro no form login com um email e senha a partir disto o sistema tem que verificar no banco de dados entre três tabelas, tb_admin, tb_professor, tb_administracao_geral. Ele deve verificar se em uma delas tem esse dados (email e senha) caso não o PHP retorna false e informa login incorreto, caso exista em uma das 3 tabelas o PHP retorna true e ai conecta ao sistema.

 

fazer isso com uma tabela é simples, mas quando preciso fazer em mais de uma?

Concorda comigo que é besteira fazer 3 páginas para cada tipo de login. Bom eu acho. porque se eu somasse a quantidade total de páginas caso cria-se uma para cada tipo de setor seria 8 páginas diferentes com o mesmo design.

 

Mas enfim, minha dúvida é consultar dados em mais de 1 tabela.

obrigado desde de já :DDD

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde amigo,

 

Basicamente vai fazer 3 SELECTs, um em cada tabela... Usamos o JOIN para unir tabelas em mesmas querys, porém pelo que eu suspeito suas tabelas não devem ter elação nenhuma entre si. Sendo assim cada uma é 1 SELECT, se pelo menos um deles retornar sucesso você faz o que tem que fazer. Podem ser 3 separados ou com UNION:

 

SELECT 1 FROM tb_admin t WHERE t.email = 'email do usuario' AND t.senha = 'senha do usuario'
UNION
SELECT 1 FROM tb_professor t WHERE t.email = 'email do usuario' AND t.senha = 'senha do usuario'
UNION
SELECT 1 FROM tb_administracao_geral t WHERE t.email = 'email do usuario' AND t.senha = 'senha do usuario'

Se existir um login e senha em uma dessas 3 tabelas você vai ter retorno 1, senão nenhum retorno.

 

Atente-se ao campo de senha, deve estar igual na condição e no banco. Por exemplo, se no banco ela é armazenada criptografada na query também deverá ser assim.

 

A disposição, abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.