Ir para conteúdo

POWERED BY:

Arquivado

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

Digbrag

SELECT MySQL de registros associados a registro que estão associados a

Recommended Posts

Bom dia.

 

Estou quebrando a cabeça com um problema aqui que talvez não seja tão complicado assim quanto estou "pintando".

 

Tenho duas tabelas, uma de contatos e outra de usuários.

Na tabela usuário existe uma coluna id_upline.

 

Vamos supor q existem 3 usuarios cadastrados.

O usuário 1 é o upline do usuario 2 e este por sua vez é upline do usuario 3.
(coluna id_upline do user 1 = NULL, id_upline do user2 = 1, id_upline do user3 = 2)

 

Digamos q eu seja o user1.

Quero listar os contatos q estão vinculados a mim, os contatos q estão vinculados ao user2, que me tem como upline e tambem os contatos do user3 que tem o user2 como upline. Gostaria q isso fosse infinito.

 

Penso q o correto seria utilizar uma tabela associativa 1 para muitos, mas o banco ja esta repleto de registros então seria um transtorno. Gostaria de fazer essa listagem de outra maneira.

 

Pensei em usar loop no php, mas seria uma tremenda gambiarra. Pensei tambem em usar union, mas seria limitado.

 

Fiz essa query, ela funciona apenas em 1 nivel, quero obter todos os niveis de usuario existente abaixo de mim.

 

/* BUSCA MEUS CONTATOS E DOS MEUS DOWNLINES id usuario = 55 */
SELECT u.id_upline,u.login AS responsavel, c.*
FROM up_contatos AS c
LEFT JOIN up_usuario AS u ON (u.email = c.responsavel)
WHERE (u.id_upline = 55) OR (u.id=55)
Espero q alguem tenha uma luz para me dar, estou a dias derrapando desse obstaculo. Obrigado e forte abraço

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olhando rapidamente, parece bem complicado mesmo, como imaginei q seria.

Vou estudar isso hj a noite, assim q tiver algum resultado posto aqui.

 

Obrigado Giesta, vc foi uma verdadeira luz no meu caminho :yes:

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.