Ir para conteúdo

POWERED BY:

Arquivado

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

rafamagalhaes

mysql_fetch_array com 2 tabelas

Recommended Posts

Amigos,

 

Como faço para resgatar os valores de uma query com 2 tabelas?

 

SELECT * FROM cliente, contatocliente WHERE (cliente.cnpj like contatocliente.cnpjcliente) AND (nome like '%$buscarcliente%' OR bairro like '%$buscarcliente%' OR cidade like '%$buscarcliente%' OR uf like '%$buscarcliente%')

 

Assim por exemplo

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

se as colunas tem mesmo nome de uma alias para uma.

para juntar tabelas use o JOIN.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como assim?

 

Fiz assim:

 

SELECT *

FROM cliente cl

JOIN contatocliente cc

ON cl.cnpj like cc.cnpjcliente

WHERE cl.nome like '%$buscarcliente%' OR cl.bairro like '%$buscarcliente%' OR cl.cidade like '%$buscarcliente%' OR cl.uf like '%$buscarcliente%'

 

To tentando resgatar assim:

 

$nome = $resultado['cl.nome'];
$tel = $resultado['cl.tel'];
$nomecontato = $resultado['cc.nome'];
$email = $resultado['cc.email'];
$cel = $resultado['cc.cel'];
Mas não ta dando certo!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

na clausula ON vc coloca os campos de id que estão em ambas as tabelas

 

 

SELECT t1.*, t2.descricao, t2.id FROM t1
INNER JOIN t2 ON t1.id = t2.id
WHERE ....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Essa parte eu entendi...

 

O que eu não sei é como recuperar os valores do fetch_array e passar estes para as variáveis...

 

Seria assim?

 

 

$nome = $resultado['cl.nome'];
$tel = $resultado['cl.tel'];
$nomecontato = $resultado['cc.nome'];
$email = $resultado['cc.email'];
$cel = $resultado['cc.cel'];

Compartilhar este post


Link para o post
Compartilhar em outros sites

use apenas

 

 

$nome = $resultado['nome'];

Compartilhar este post


Link para o post
Compartilhar em outros sites

se as colunas tem mesmo nome de uma alias para uma.

 

 

select t1.nome as novo_nome, t2.nome from tabela
.....

Compartilhar este post


Link para o post
Compartilhar em outros sites

"Não funcionou" é uma informação bem inútil, porque? Porque o problema é a query? O problema é como você está resgatando?

 

Para facilitar o processo dá um print_r($resultado), isso vai fazer com que tudo que veio na query seja exibido de uma vez, ai você verá os índices e por consequência saberá com selecionar o que quer. Caso o problema seja a query que não retornou nada, use o OR DIE(mysql_error()) para retornar o erro.

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.