Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) join?


ThinkBrunus

Pergunta

Viva!

Estou com uma dúvida na verificação das permissões de um utilizador, ou seja, tendo em conta que um utilizador poderá ter mais que um tipo de permissões estou a tentar uma querie que apresente os dados do utilizador e verifique as suas permissões.

O que tenho actualmente é a querie que me retorna os dados de determinado utilizador, e quero que apareçam a ou as permissões dos mesmos a fim de guardar numa variável de sessão para poder restringir os acessos a determinadas páginas num site.

Estou a fazer algumas experiências com o join....será que por aqui vou lá?

Editado por Denis Courcy
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
Viva!

Estou com uma dúvida na verificação das permissões de um utilizador, ou seja, tendo em conta que um utilizador poderá ter mais que um tipo de permissões estou a tentar uma querie que apresente os dados do utilizador e verifique as suas permissões.

O que tenho actualmente é a querie que me retorna os dados de determinado utilizador, e quero que apareçam a ou as permissões dos mesmos a fim de guardar numa variável de sessão para poder restringir os acessos a determinadas páginas num site.

Estou a fazer algumas experiências com o join....será que por aqui vou lá?

Sim. Para a solução que você propôs são três tabelas. Uma para utilizador, outra para permissões e outra para permissões_do_utilizador. Esta é uma ligação de muitos para muitos o que, fisicamente, impõe a construção de três tabelas.

Link para o comentário
Compartilhar em outros sites

  • 0

Estou aqui com alguma dificuldade em implementar o join, será que poderiam dar uma vista de olhos a ver o que está a falhar...

SELECT posto.sigla AS posto,classe.sigla AS classe,apelido,divisao.sigla AS divisao,detalhe.nome AS detalhe,nivelacesso_detalhe.id_nivelacesso
FROM utilizador,posto,classe,detalhe,divisao
WHERE posto.id_posto=utilizador.id_posto
AND classe.id_classe=utilizador.id_classe AND utilizador.id_detalhe=detalhe.id_detalhe
AND detalhe.id_divisao=divisao.id_divisao
JOIN nivelacesso_detalhe ON detalhe.id_detalhe=nivelacesso_detalhe.id_detalhe

É de realçar que um utilizador poderá ter um ou mais tipos de permissão...

Link para o comentário
Compartilhar em outros sites

  • 0

Oi, 'ThinkBrunus'

O correto é:

SELECT posto.sigla AS posto,classe.sigla AS classe,apelido,divisao.sigla AS divisao,detalhe.nome AS detalhe,nivelacesso_detalhe.id_nivelacesso
FROM utilizador,
INNER JOIN posto posto.id_posto=utilizador.id_posto
INNER JOIN classe ON classe.id_classe = utilizador.id_classe
INNER JOIN detalhe ON detalhe.id_detalhe = utilizador.id_detalhe
INNER JOIN divisao ON detalhe.id_divisao = divisao.id_divisao
INNER JOIN nivelacesso_detalhe ON detalhe.id_detalhe = nivelacesso_detalhe.id_detalhe

Não testei o código. mas creio estar correto, agora.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...