Digbrag 0 Denunciar post Postado Março 20, 2015 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
giesta 29 Denunciar post Postado Março 20, 2015 Nem o universo é infinito B) Poderia verificar? http://forum.imasters.com.br/topic/533801-somar-campos-de-usuarios-distintos-com-hierarquia/ Compartilhar este post Link para o post Compartilhar em outros sites
Digbrag 0 Denunciar post Postado Março 20, 2015 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