Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Ae galera!
Tudo certinho?
Estou fazendo 3 consultas em um banco e elas retornam os mesmo dados, pois cada tabela tem um critério de busca, mas pode retornar valores iguais.
Vou mostrar o meu banco
Tabela categoria: Armazena as categorias
Tabela categoria_contato: armazena o id do contato e a categoria do contato, pois cada contato pode ter mais de uma categoria.
Tabela fonetica: armazena um campo com as foneticas e outro campo com o id do contato.
Tabela contato: todas as informações do contato.
O usuario digita em um campo em um formulario, a palavra que ele digita por exemplo ACADEMIA:
1ª Consulta: Ele busca ACADEMIA na tabela categoria se existe, ele retorna o id do contato que já traz os dados pois estou usando os joins da vida
2ª Consulta: Ele busca ACADEMIA na tabela fonetica se existe, ele retorna o id do contato que já traz os dados pois estou usando os joins da vida
3ª Consulta: Ele busca ACADEMIA na tabela contato se existe, retorna tudo.
A dúvida é, usando o exemplo acima, eu tenho uma categoria academia e vai retornar todos os contato da academia!
O mesmo na 2ª consulta e na 3ª!
Na hora de exibir esta exibindo tudo, ou seja, vem duplicados, pois na 1ª consulta ele retorna os contatos que tem como categoria ACADEMIA, mas geralmente ACADEMIA tem nos nomes das academias.
Minha atribuição dos resultados nas variaveis esta assim:
while($dados = mysql_fetch_array($conCategoria)){
$id[] = $dados["id_contato"];
$nome[] = $dados["ds_nome"];
$cidade[] = $dados["ds_cidade"];
$ddd[] = $dados["ds_ddd"];
$tel = mysql_fetch_array($sql->Query("SELECT ds_telefone FROM telefone WHERE id_contato = $dados[id_contato]"));
$telefone[] = $tel["ds_telefone"];
}
while($dados = mysql_fetch_array($conFonetica)){
$id[] = $dados["id_contato"];
$nome[] = $dados["ds_nome"];
$cidade[] = $dados["ds_cidade"];
$ddd[] = $dados["ds_ddd"];
$tel = mysql_fetch_array($sql->Query("SELECT ds_telefone FROM telefone WHERE id_contato = $dados[id_contato]"));
$telefone[] = $tel["ds_telefone"];
}
while($dados = mysql_fetch_array($conNome)){
$id[] = $dados["id_contato"];
$nome[] = $dados["ds_nome"];
$cidade[] = $dados["ds_cidade"];
$ddd[] = $dados["ds_ddd"];
$tel = mysql_fetch_array($sql->Query("SELECT ds_telefone FROM telefone WHERE id_contato = $dados[id_contato]"));
$telefone[] = $tel["ds_telefone"];
}Bom é isso, caso não tenha me expressado direito pode falar!
Obrigado
Carregando comentários...