SQL + estrutura de exibição
Olá pessoal do fórum, beleza? :D
Bom estou com um problema aqui e já quebrei a cabeça, mas não consigo
resolver...
Tenho de criar uma listagem de usuários X cliente X obras X
projetos_recursos
Então basicamente tenho essa estrutura:
tabela usuarios:
id_usuario | nome | login | senha
tabela cliente:
id_cliente | nome | ...
tabela obras:
id_obra | id_cliente | nome_obra | ...
tabela projetos_recursos:
id | id_usuario | id_obra
Então tenho uma tabela de ligação projetos_recursos para vincular um
usuário a uma determinada obra.
O que quero fazer na listagem é:
Eu listo os usuários do sistema normalmente, quando clico nele envio
por Ajax o id_usuario para uma outra página, nessa página preciso
pegar todos os projetos que estão vinculados a esse usuário e os
clientes donos desses projetos...
Eu consigo listar mostrando Usuário -> Cliente -> Projeto, PORÉM o
cliente é listado várias vezes, se eu tenho um cliente com 3 projetos
esse cliente é listado 1 vez para cada projeto, o que quero é que o
cliente seja listado 1 unica vez e abaixo dele venha todos os projetos
desse cliente, porém não consigo achar a estrutura correta para
isso...
meu SQL está assim:
$sql = "SELECT recursos.*, projetos.nome_obra as nome_obra,
clientes.nome_completo as nome_cliente
FROM tb_projetos_recursos recursos
INNER JOIN tb_obras projetos
ON projetos.id = recursos.id_projeto
INNER JOIN tb_clientes clientes
ON clientes.id = projetos.id_cliente
WHERE recursos.id_usuario = '$id_usuario'
order by clientes.id
";Com esse SQL eu consigo todos os projetos que o usuário está alocado,
o nome da obra e o nome do cliente, tudo o que quero, porém na hora de
exibir é que está o problema...
$busca_projetos_usuarios = @mysql_query($sql);
$total = @mysql_num_rows($busca_projetos_usuarios);
if($total > 0){
for($j=0; $j<$total; $j++){
$id_projeto = @mysql_result($busca_projetos_usuarios,$j,"id_projeto");
$id_usuario = @mysql_result($busca_projetos_usuarios,$j,"id_usuario");
$nomeCliente = @mysql_result($busca_projetos_usuarios,$j,"nome_cliente");
$nome_projeto = @mysql_result($busca_projetos_usuarios,$j,"nome_obra");
?>
<tr>
<td width="30%" style="padding-left:70px;">-
<span class='abre'>
<?php
echo $nomeCliente;
?>
</span>
<span><?=$nome_projeto?></span>
</td>
</tr>
<?
}
}
é listado o cliente1 uma vez a cada projeto dele, então se ele tem
tres projetos é listado:
Cliente1 - Projeto1
Cliente1 - Projeto2
Cliente1 - Projeto3
O que quero é que seja listado Cliente1 - Projeto 1 Projeto2 Projeto3
Não sei se ficou muito claro minha dúvida, se alguém puder ajudar eu
agradeço, já perdi muito tempo com isso e não consigo achar uma
solução...
Obrigado.
Discussão (1)
Carregando comentários...