Consultas com inner join
Olá pessoal preciso de ajuda para realizar uma consulta que envolve varias tabelas relacionadas.
tenho as seguintes tabelas: cliente, sexo, endereco_cliente e cidade. A tabela cliente se relaciona com a tabela sexo,a tabela endereco_cliente se relaciona com as tabelas cliente e cidade.
Eu preciso fazer um menu drop down que liste todas as opções de sexo, ao usuário passar o mouse sobre a opção sexo, abre o menu e lista as cidades que tem clientes daquele sexo, por ex: se passar o mouse encima do sexo masculino, vai listar são paulo (5), ribeirão preto (3), os números são referente a quantidade de clientes daquele sexo na cidade, e deve listar somente as cidade que contenham clientes daquele sexo.
Abaixo segue um exemplo que fiz mas não esta funcionando corretamente:
<ul class="nav navbar-nav">
<?php
$busca_s = mysql_query("SELECT * FROM sexo ORDER BY SEXO_ID ASC");
while ($row_s = mysql_fetch_assoc($busca_s)){
$sexo = $row_s['SEXO_ID'];
?>
<li class="dropdown"><a href="#" class="dropdown-toggle js-activated"><?php echo $row_s['SEXO_DESC']; ?> <span class="caret"></span></a>
<ul class="dropdown-menu">
<?php
$busca_cidade = mysql_query("SELECT * FROM cidade C INNER JOIN endereco_cliente E ON C.CIDADE_ID = E.ENDERECO_CIDADE INNER JOIN cliente T ON E.ENDERECO_CLIENTE = T.CLIENT_ID WHERE T.CLIENT_SEXO='$sexo' ORDER BY C.CIDADE_NOME ASC");
while ($row_end = mysql_fetch_assoc($busca_cidade)){
$cidade = $row_end['CIDADE_ID'];
$busca_count = mysql_query("SELECT * FROM endereco_cliente WHERE ENDERECO_CIDADE='$cidade'");
$count = mysql_num_rows($busca_count);
?>
<li><a href="#!"><?php echo $row_end['CIDADE_NOME']; ?> <?php echo $count; ?></a></li>
<?php } ?>
</ul>
</li>
<?php } ?>
do jeito que está ele lista as opções de sexo, e repete as cidades com numero exato de clientes, mas repete as cidade, como se fosse clientes. ex: sem tem 5 pessoas em são ele lista 5 veses a cidade de são paulo com o numero 5 na frente
agradeço se alguém puder me ajudar
Discussão (6)
Carregando comentários...