Ir para conteúdo

POWERED BY:

Arquivado

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

egbmix

busca em duas tabelas ao mesmo tempo

Recommended Posts

Boa noite galera,

 

Estou desenvolvendo um script de busca para um site só que estou precisando de ajuda tenho que fazer uma busca em duas tabelas ao mesmo tempo e não estou conseguindo fazer isso.

O usuário do site vai fazer a busca de outros usuários, tenho a tabela usuários com os seguintes campos: nome, email, país. na outra tabela tenho os campos: email, foto.

 

O usuário do site faz a busca digitando o nome do usuário e eu gostaria que aparecesse o nome, email, país e foto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

As 2 tabelas se relacionam? por qual campo?

caso sim, faça um JOIN nelas. Qual banco de dados está usando ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

As 2 tabelas se relacionam? por qual campo?

caso sim, faça um JOIN nelas. Qual banco de dados está usando ?

 

 

o campo comum nas duas tabelas é o email, o banco de dados que estou usando é o mysql, como faço o join

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pode tentar o seguinte, usando JOIN:

 

SELECT nome.tabela1, email.tabela1, pais.tabela1, foto.tabela2 
FROM tabela1 
INNER JOIN tabela2 
ON tabela1.email = tabela2.email

Seria algo assim. Ou seja, tu faz uma pesquisa em 2 tabelas que tem em comum o campo "email", retornando os valores delas.

 

Qualquer coisa, para maiores detalhes sobre JOIN, dá uma olhada no manual do MySQL:

 

http://dev.mysql.com/doc/refman/4.1/pt/join.html

 

Abraços ^^

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz assim:

 

$busca = "SELECT foto.email, foto.foto FROM foto INNER JOIN	usuarios ON usuarios.email = foto.email WHERE nome like '%".$_GET['pesquisa']."%'";
$total_reg = "10"; 
if (!$pagina) {
    $pc = "1";
} else {
    $pc = $pagina;
}
$inicio = $pc - 1;
$inicio = $inicio * $total_reg;
$limite = mysql_query("$busca LIMIT $inicio,$total_reg");
$todos = mysql_query("$busca");
$tr = mysql_num_rows($todos); //está dando erro nesta linha 
$tp = $tr / $total_reg; 

while ($linha = mysql_fetch_array($limite)) { // está dando erro nesta linha
$usuario_id2 = $linha['usuario_id'];
$nome2 = $linha['nome'];
$email2 = $linha['email'];
$foto3 = $linha['foto']; // este campo é da tabela foto
$pais2 = $linha['pais'];

Compartilhar este post


Link para o post
Compartilhar em outros sites

Posta o erro então, e o código referente ao erro citado.

 

Assim é possível verificarmos o que estaria ocorrendo. =D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já postei o erro no código acima se você ver o código verá que ao lado que contém um comentário dizendo onde está o erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Troca:

$limite = mysql_query("$busca LIMIT $inicio,$total_reg");
$todos = mysql_query("$busca");
por:

$limite = mysql_query("$busca LIMIT $inicio,$total_reg") or die( mysql_error() );
$todos = mysql_query("$busca") or die( mysql_error() );

e então, poste o erro exatamente como ele aparecer

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.