egbmix 0 Denunciar post Postado Fevereiro 12, 2010 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
William Bruno 1501 Denunciar post Postado Fevereiro 12, 2010 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
egbmix 0 Denunciar post Postado Fevereiro 12, 2010 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
Alaucho 5 Denunciar post Postado Fevereiro 12, 2010 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
egbmix 0 Denunciar post Postado Fevereiro 12, 2010 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
João Batista Neto 448 Denunciar post Postado Fevereiro 12, 2010 Fiz assim: Resolvido ? Compartilhar este post Link para o post Compartilhar em outros sites
egbmix 0 Denunciar post Postado Fevereiro 12, 2010 Não pois tem duas linhas que está dando erro no código. Compartilhar este post Link para o post Compartilhar em outros sites
Alaucho 5 Denunciar post Postado Fevereiro 13, 2010 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
egbmix 0 Denunciar post Postado Fevereiro 13, 2010 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
cristiadu 0 Denunciar post Postado Fevereiro 13, 2010 Não tá conseguindo fazer as consultas... dá exatamente qual erro? Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Fevereiro 13, 2010 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