Sistema de busca palavra impedindo a busca
Olá pessoal,
Antes de mais nada gostaria de pedir perdão quanto à indentação do códígo que vou postar aqui. Estou aprendendo.
Eu fiz um sistema de busca, na realidade eu aprendi com um tutorial, está dando tudo certo, exceto por uma coisa, existem 4 situações:
1- Não digito nada no campo de busca e clico no botão. Resultado: o sistema da a mensagem correta.
2- Digito uma palavra ou misturas de letras que eu sei que não estão no banco. Resultado: o sistema da a mensagem correta.
3- Eu digito 2 ou mais palavras que eu sei que estão no banco. Resultado: o sistema exibe o reultado corretamente.
4- Eu digito 1 palavra que eu sei que está no banco e 1 palavra que eu sei que não está no banco. Resultado: o sistema desconsidera a palavra que está no banco e dá a mensagem de "Nenhum resultado encontrado" ao invés de considerar a palavra que está no banco e exibir o resultado.
A palavra que não existe está impedindo de o resultado para a palavra que existe aparecer. Eu preciso que o resultado apareça mesmo que o usuário digite 10 palavras ou mais e apenas uma constar no banco.
Peço aos colegas que me ajudem a resolver esse problema por gentileza, valeu!
Segue o código:
<?php
if(isset($_POST['botao'])){
$busca = $_POST['busca'];
if($busca == "" or $busca == " "){
header('location:http://www.meudominio.com.br/digitealgoparaabusca.php');
}else{
$busca_dividida = explode(' ',$busca);
$quant = count($busca_dividida);
$id_mostrado = array("");
for($i=0;$i<$quant;$i++){
$pesquisa = $busca_dividida[$i];
$sql = mysql_query("SELECT * FROM busca WHERE conteudo LIKE '%$pesquisa%'");
$quant_campos = mysql_num_rows($sql);
if($quant_campos == 0){
header('location:http://www.meudominio.com.br/nenhumresultado.php');
}else{
while($linha = mysql_fetch_array($sql)){
$id = $linha['id'];
$titulo = $linha['titulo'];
$conteudo = $linha['conteudo'];
if(!array_search($id, $id_mostrado)){
echo "<div class='resultado'>
<p>".$conteudo."</p>
</div>
<br />
";
array_push($id_mostrado, $id);
}
}
}//do else
//for($i;$i<count($id_mostrado);$i++){
//echo $id_mostrado[$i]."<br />";
//}
}//do for
}//so else campo vazio
}//do if botão pressionado
?>
Atenciosamente,
Phil
Discussão (3)
Carregando comentários...