Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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.
>
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
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 ^^
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'];Fiz assim:
Resolvido ?
Não pois tem duas linhas que está dando erro no código.
Posta o erro então, e o código referente ao erro citado.
Assim é possível verificarmos o que estaria ocorrendo. =D
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.
Não tá conseguindo fazer as consultas...
dá exatamente qual erro?
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
As 2 tabelas se relacionam? por qual campo?
caso sim, faça um JOIN nelas. Qual banco de dados está usando ?