Ir para conteúdo

POWERED BY:

Arquivado

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

pensar

[RESOLVIDO] Erro no SQl na busca de tabelas relacionadas

Recommended Posts

Galera é o seguinte to com um problema aqui ..

 

Fiz um sistema de busca que lista os cadastrados da tabela

 

tb_produtor

//campos

cpf

cod_municipio_nascimento >> esse campo recebe o codigo do municipio de nascimento do titular

cod_municipio_nasc_conjuge >> esse recebe do conjuge

 

 

Nessa tabela existe o relacionamento com a tabela:

 

tb_municipio

 

//campos

 

cod_municipio

nm_municipio

 

 

O problema esta na busca SQL eu fiz dois inner join mas ele da erro ..

 

No form de cadastro eu faço duas combobox dinamica da tabela municipio e o form envia os codigos em campos diferenets da tb_produtor isso ta ok mas na hora de buscar como faço pois os dois campos buscam o valor nm_municipio da mesma tabela???

 

//SQL$sql = "SELECT * FROM tb_produtor INNER JOIN tb_municipio on tb_produtor.cod_municipio_nascimento = tb_municipio.cod_municipio  INNER JOIN tb_municipio on tb_produtor.cod_munic_nasc_conjuge = tb_municipio.cod_municipio ";$resultado = mysql_query($sql)or die ("Não foi possível realizar a consulta ao banco de dados");$total = mysql_query($sql); $total = mysql_num_rows($total); $resultado=mysql_query($sql);while ($linha=mysql_fetch_array($resultado)) {$cpf_produtor = $linha["cpf_produtor"];$nm_produtor = $linha["nm_produtor"];$nm_municipio = $linha["nm_municipio"];}?>  <tr> 	<td bgcolor='#FFFFFF'>	<p class='Texto_form_direita'><br></p>	<table width="761" border="0" align="center">	  <tr>		<td colspan="7"><span class="style2">Detalhes do Produtor </span>		  <hr></td>		<td width="97"><span class="Texto_form_direita"><a href='java script:window.print();'><img src='../imagens/imprimir.gif' width='13' height='14' border='0' align='absmiddle'> Imprimir</a></span></td>	  </tr>	  <tr>		<td width="66" bgcolor="#F4F4F4"><strong>Nome:</strong> </td>		<td colspan="2" bgcolor="#F4F4F4"><? echo $nm_produtor; ?> </td>		<td width="100" bgcolor="#F4F4F4"><strong>CPF:</strong></td>		<td width="109" bgcolor="#F4F4F4"><? echo $cpf_produtor; ?></td>		<td width="50" bgcolor="#F4F4F4"> </td>		<td width="122" bgcolor="#F4F4F4"> <span class="style1">Municipio Nascimento:</span></td>		<td bgcolor="#F4F4F4"><? echo $nm_municipio; ?></td>	  </tr>		   	//CONJUGE		<td>Municipio Nascimento COnjuge</td>		<td><? echo $nm_municipio; ?></td>		<td> </td>	  </tr>	  		<td colspan="8"><div align="center"><span class="Texto_form_centro">		  <input name="cadastrar" type="button"  onClick="java script:window.close()" id="cadastrar" style="color: #000000; font-family: Verdana; font-size: 13 px; border-style: outset; border-width: 1; background-color: #CCCCCC" value="..:: Fechar ::..">		</span></div></td>	  </tr>	</table></html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nao deu certo aqui tm.

 

Na verdade vou postar como esta o meu select por completo pois nele a outros relacionamentos que estao funcionando legal ...

 

DETALHES.PHP >. ESSA PAGINA É RESPONSAVEL POR MOSTRAR OS DETALHES DA BUSCA POR CPF DE PRODUTOR....

 

NESSE MODO ALTEREI COMO você DISSE MAS ELE SO TA MOSTRANDO O CPF E OS DEMAIS CAMPOS EM BRANCO... QUANDO RETIRO O AND E DEIXO SOMENTE A PRIMEIRA INSTRUÇÃO ELE RETORNA TODOS OS DADOS ..MAS FICA FALTANDO O MUNICIPIO DE NASC CONJUGE....

REPARE QUE TEM DOIS CAMPOS O MUNICIPIO E O MUNICIPIO DO CONJUGE MAS QUE BUSCAM DA MESMA TABELA... NO ARRAY EU SO PUXO UM VALOR $nm_municipio. acho que é o certo..

 

 

<?php include("config.php");$sql = "SELECT * FROM tb_produtor INNER JOIN tb_municipio on tb_produtor.cod_municipio_nascimento = tb_municipio.cod_municipio AND tb_produtor.cod_munic_nasc_conjuge = tb_municipio.cod_municipio INNER JOIN tb_nacionalidade on tb_produtor.tb_nacionalidade_cod_nacionalidade = tb_nacionalidade.cod_nacionalidade INNER JOIN tb_tppublico on tb_produtor.tb_tpPublico_cod_tpPublico = tb_tppublico.cod_tpPublico  where cpf_produtor=$cpf_produtor";$resultado = mysql_query($sql)or die ("Não foi possível realizar a consulta ao banco de dados");$total = mysql_query($sql); $total = mysql_num_rows($total); $resultado=mysql_query($sql);while ($linha=mysql_fetch_array($resultado)) {$cpf_produtor = $linha["cpf_produtor"];$nm_produtor = $linha["nm_produtor"];$nm_municipio = $linha["nm_municipio"];$nm_nacionalidade = $linha["nm_nacionalidade"];$nm_tpPublico = $linha["nm_tpPublico"];$sexo_produtor = $linha["sexo_produtor"];$nm_mae_produtor = $linha["nm_mae_podutor"];$dt_nasc_produtor = $linha["dt_nasc_produtor"];$nro_rg_produtor = $linha["nro_rg_produtor"];$org_emissor_rg_produtor = $linha["org_emissor_rg_produtor"];$est_civil_podutor = $linha["est_civil_produtor"];$escolaridade_produtor = $linha["escolaridade_produtor"];$local_resid_produtor = $linha["local_resid_produtor"];$nro_pessoas_resid_produtor = $linha["nro_pessoas_resid_produtor"];$endereco_produtor = $linha["endereco_produtor"];$nro_endereco_produtor = $linha["nro_endereco_produtor"];$bairro_produtor = $linha["bairro_produtor"];$cep_produtor = $linha["cep_produtor"];$reg_casamento_produtor = $linha["reg_casamento_produtor"];$tp_end_produtor = $linha["tp_end_produtor"];$nm_conjuge_produtor = $linha["nm_conjuge_produtor"];$cpf_conjuge_produtor = $linha["cpf_conjuge_produtor"];$dt_nasc_conjuge_produtor = $linha["dt_nasc_conjuge_produtor"];$sexo_conjuge_produtor = $linha["sexo_conjuge_produtor"];$nm_mae_conjuge_produtor = $linha["nm_mae_conjuge_produtor"];$nro_rg_conjuge_produtor = $linha["nro_rg_conjuge_produtor"];$org_emissor_rg_conjuge = $linha["org_emissor_rg_conjuge"];$escolaridade_conjuge_prod = $linha["escolaridade_conjuge_prod"];$data_atualizacao_produtor = $linha["data_atualizacao_produtor"];}?>  <tr> 	<td bgcolor='#FFFFFF'>	<p class='Texto_form_direita'><br></p>	<table width="761" border="0" align="center">	  <tr>		<td colspan="7"><span class="style2">Detalhes do Produtor </span>		  <hr></td>		<td width="97"><span class="Texto_form_direita"><a href='java script:window.print();'><img src='../imagens/imprimir.gif' width='13' height='14' border='0' align='absmiddle'> Imprimir</a></span></td>	  </tr>	  <tr>		<td width="66" bgcolor="#F4F4F4"><strong>Nome:</strong> </td>		<td colspan="2" bgcolor="#F4F4F4"><? echo $nm_produtor; ?> </td>		<td width="100" bgcolor="#F4F4F4"><strong>CPF:</strong></td>		<td width="109" bgcolor="#F4F4F4"><? echo $cpf_produtor; ?></td>		<td width="50" bgcolor="#F4F4F4"> </td>		<td width="122" bgcolor="#F4F4F4"> <span class="style1">Municipio:</span></td>		<td bgcolor="#F4F4F4"><? echo $nm_municipio; ?></td>	  </tr>	  <tr>		<td><strong>sexo:</strong></td>		<td width="170"><? echo $sexo_produtor; ?></td>		<td colspan="2"><strong>Data Nascimento: </strong></td>		<td><? echo $dt_nasc_produtor; ?></td>		<td colspan="2"><strong>Publico</strong>: <? echo $nm_tpPublico; ?></td>		<td> </td>	  </tr>	  	  <tr>		<td bgcolor="#FFFFFF"><strong>Rg:</strong></td>		<td bgcolor="#FFFFFF"><? echo $nro_rg_produtor; ?></td>		<td colspan="2" bgcolor="#FFFFFF"><strong>Org.Emissor:</strong></td>		<td bgcolor="#FFFFFF"><? echo $org_emissor_rg_produtor; ?></td>		<td colspan="3" bgcolor="#FFFFFF"><strong>Nacionalidade:</strong> <? echo $nm_nacionalidade; ?></td>	  </tr>	  <tr>		<td bgcolor="#F4F4F4"> </td>		<td bgcolor="#F4F4F4"> </td>		<td colspan="2" bgcolor="#F4F4F4"><strong>Escolaridade:</strong></td>		<td colspan="2" bgcolor="#F4F4F4"><? echo $escolaridade_produtor; ?></td>		<td colspan="2" bgcolor="#F4F4F4"> </td>	  </tr>	  <tr>		<td bgcolor="#F4F4F4"><strong>Endereço:</strong></td>		<td colspan="4" bgcolor="#F4F4F4"><? echo $endereco_produtor; ?></td>		<td bgcolor="#F4F4F4"><strong>N:</strong></td>		<td colspan="2" bgcolor="#F4F4F4"><? echo $nro_endereco_produtor; ?></td>	  </tr>	  <tr>		<td>Bairro:</td>		<td><? echo $bairro_produtor; ?></td>		<td colspan="3">CEP: <? echo $cep_produtor; ?></td>		<td>Municipio CONJUGE</td>		<td><?  echo $nm_municipio; ?>						</td>		<td> </td>	  </tr>	  <tr>		<td colspan="8"> </td>	  </tr>	  <tr>		<td colspan="8"> </td>	  </tr>	  <tr>		<td colspan="8"> </td>	  </tr>	  <tr>		<td colspan="8"><div align="center"><span class="Texto_form_centro">		  <input name="cadastrar" type="button"  onClick="java script:window.close()" id="cadastrar" style="color: #000000; font-family: Verdana; font-size: 13 px; border-style: outset; border-width: 1; background-color: #CCCCCC" value="..:: Fechar ::..">		</span></div></td>	  </tr>	</table>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera resolvido aqui fiz dois selects

 

$sql = "SELECT * FROM tb_produtor INNER JOIN tb_municipio on tb_produtor.cod_municipio_nascimento = tb_municipio.cod_municipio INNER JOIN tb_nacionalidade on tb_produtor.tb_nacionalidade_cod_nacionalidade = tb_nacionalidade.cod_nacionalidade INNER JOIN tb_tppublico on tb_produtor.tb_tpPublico_cod_tpPublico = tb_tppublico.cod_tpPublico  where cpf_produtor=$cpf_produtor";$query = "SELECT * FROM tb_produtor INNER JOIN tb_municipio on tb_produtor.cod_munic_nasc_conjuge = tb_municipio.cod_municipio  where cpf_produtor=$cpf_produtor";

E no campo municipio do conjuge

 

Municipio COnjuge:<? $res = mysql_query($query)or die ("Não foi possível realizar a consulta ao banco de dados");$total = mysql_query($query); $total = mysql_num_rows($total); $res=mysql_query($query);while ($linha=mysql_fetch_array($res)) {$nm_municipio = $linha["nm_municipio"];	  	  }	  echo $nm_municipio;	  ?>

Nao sei se é o melhor jeito de fazer isso mas resolveu meu problema Obrigado http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

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.