Ir para conteúdo
Fórum Script Brasil
  • 0

Busca Composta


Naty_Za

Pergunta

Oi pessoal.. tenho um scriptzinho de busca bem simples.

você digita e ele busca no bd mysql e faz uma pequisa em todos os campos..

ex:

na tabela cadastros, tenho os seguintes campos:

titulo

empresa1

servicos

fábrica de caixas

endereco

rua salvador, 123

estado

SP

cidade

Campinas

se eu escrevo "caixas" ele mostra todos os registro que tiver a palavra caixa, em todos os campos, seja no titulo ou servicos

se eu procurar pelo nome da cidade, ele tb vai buscar e mostrar

agora se eu coloco "caixas campinas" ele volta zero.. não busca em dois campos...

como posso fazer pra mudar isso?????/

vou postar meu código pra vocês:

<? if(!empty($HTTP_POST_VARS[palavra])) { 
    $palavra = str_replace(" ", "%", $HTTP_POST_VARS[palavra]); // Altera os espaços adicionando no lugar o simbolo % 
    
$qr = "SELECT * FROM cadastros WHERE titulo LIKE '%".$palavra."%' OR cidade LIKE '%".$palavra."%' OR servicos LIKE '%".$palavra."%' OR estado LIKE '%".$palavra."%' OR palavras LIKE '%".$palavra."%' ORDER BY titulo ASC"; // definimos para buscar no campo1 e ordenar pelo campo que você quiser.
    
$sql = mysql_query($qr) or die (mysql_error()); // Executa a query no Banco de Dados 
    
$total = mysql_num_rows($sql); // Conta o total de resultados encontrados 
    
echo "<font face=Verdana, Arial, Helvetica, sans-serif><font size=1>Sua busca retornou <b>$total</b> resultados.</font><br><br>\n"; // mostra quantos resultados retornou e logo depois exibe
    
while ($dados = mysql_fetch_array($sql)) {
$campo1 = $dados["titulo"];
$campo2 = $dados["endereco"];
$campo3 = $dados["cidade"];
$campo4 = $dados["tel"];
$campo5 = $dados["id"];
$campo6 = $dados["http"];
$campo7 = $dados["email"];
$campo8 = $dados["estado"];
$campo9 = $dados["servicos"];
               

echo "
<font face=Verdana, Arial, Helvetica, sans-serif><strong><font size=1><a href=\"http://$campo6\" 
target=\"_blank\" >$campo1</strong></a></font><br>
$campo9 <BR>
$campo2<BR>
$campo3 / $campo8 <br>
Tel: $campo4<BR>
Email: <a href=mailto:$campo7>$campo7</a><BR>
<BR>
";
} 
} 
?>

Como posso arrumar isso???

Me ajudem pessoal.. pls!!!!!!

Valeww

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Creio que este código deixará a idéia mais clara:

$busca = "Beraldo PHP ScriptBrasil";
$palavras = explode(" ", $busca);

$sql = "Select dados From tabela Where";

for ($i = 0; $i < count($palavras); $i++)
{
    $sql .= " campo Like '%" . $palavras[$i] . "%'" . (($i == (count($palavras) - 1)) ? "" : " OR");
}

echo $sql;

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,1k
×
×
  • Criar Novo...