Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá, gostária de saber como fazer para um sistema de busca com
$sql = mysql_query("SELECT * FROM db WHERE nome LIKE '%$busca%' OR email LIKE '%$busca%'");
Faça uma busca tipo, na db tem um usuário com nome Rogério da Silva, então se a pessoa procurar por Rogério da Silva a busca aparece tudo certo.
Mais quando fais uma pesquisa mais procurando por Rogério Silva, não aparece nenhum resultado.
Alguem tem alguma solução?!? :mellow:
>
O erro acontece por que quando você usa este comando ele vai buscar somente o que estiver no banco de dados tipo Rogerio da silva é diferente Rogerio silva, faça um cadastro de rogerio silva e vera que ele vai encontrar esse comando mysql diz pra selecionar todos da tabela x quando x for y e vice-versa.
Será que tem algum sistema de busca que fais a busca como falei?
>
Cara tem um sistema de Busca no Meu Blog entra ae
espero que goste
O Seu é a mesma coisa que falei ... se tiver um usuario com nome Rogério da Silva e buscar por Rogério Silva não aparece nenhum resultado ...
Nao, pq ela busca por nome, entao voçe digitando rogerio, ela ja vai aparecer...
tenta agora para tu ver
<?php
require_once("Conexao.php");
$busca=$_POST['busca'];
?>
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Sistema de Busca</title>
</head>
<body>
<div id="tudo">
<form action="buscar.php" method="post">
<label>
<select name="categoria">
<option value="1">Usuarios</option>
</select>
</label>
<label>
<input type="text" name="busca" value="Buscar.." id="b" onfocus="if (document.getElementById('b').value == 'Buscar..'){document.getElementById('b').value='';}" onblur="if (document.getElementById('b').value == ''){document.getElementById('b').value='Buscar..';}" />
</label>
<label>
<input type="submit" value="Buscar" />
</label>
</form>
<div id="conteudo">
<h1>Você buscou por "<?php echo $busca ?>"</h1>
<table id="table">
<tr style="background:#333;">
<td width="30" align="center" style="color:#EEE;"><strong>Id</strong></td>
<td align="center" width="57%" style="color:#EEE;"><strong>Título</strong></td>
<td align="center" width="57%" style="color:#EEE;"><strong>Email</strong></td>
</tr>
<?php
$consulta=mysql_query("SELECT id,nome,email FROM usuarios WHERE `nome` LIKE '%$busca%'");
$linhas=mysql_num_rows($consulta);
if(empty($linhas)){
echo "<div id=\"msg_busca\">Nenhuma notícia encontrada com estes termos</div>";
exit;
}else{
while($rs=mysql_fetch_array($consulta)){
$id_bd=$rs['id'];
$titulo_bd=$rs['nome'];
$email=$rs['email'];
?>
<tr>
<td width="30" align="center"><?php echo $id_bd ?></td>
<td align="center"><?php echo $titulo_bd ?></td>
<td align="center"><?php echo $email ?></td>
</tr>
<?php
}
}
?>
</table>
</div>
<div id="clear"></div>
</div>
</body>
</html>
O erro acontece por que quando você usa este comando ele vai buscar somente o que estiver no banco de dados tipo Rogerio da silva é diferente Rogerio silva, faça um cadastro de rogerio silva e vera que ele vai encontrar esse comando mysql diz pra selecionar todos da tabela x quando x for y e vice-versa.