Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal, mais uma vez recorro a expriência de vocês.
Tenho uma tabela no meu banco de dados com as seguintes informações:
id tipo valor
1 Apartamento 80.000
2 Casa 60.000
Tenho um campo no site de busca rápida, um único input, eu quero que quando a pessoa digitar por exemplo "casa 60.000" sejam listados os registros que atendam a essa consulta.
Sei que se tivesse por exemplo campos diferentes tipo select um com os dados do tipo e outros com o valor seria mais facil, e isso eu fiz. Só que também é necessário esse campo da buca rápida.
Caso não tenho sido claro, peço que falem que eu tento explicar melhor..
Espero a ajuda de vcs, abraço.
beleza William
Vou tentar fazer aqui, mais mesmo assim quem puder dar uma explicada ai, fico grato.
Aê resolvido http://forum.imasters.com.br/public/style_emoticons/default/joia.gif
Caso seja do interesse de alguem vou deixar aqui a solução, já para ajudar outras pessoas que venham a estar com a mesma dúvida:
index.html = Possui apenas um input para digitar as palavras chaves para busca.
index.html
...
<body>
<form id="form1" name="form1" method="get" action="consulta.php">
Busca:
<label>
<input type="text" name="busca" id="busca" />
</label>
</form>
</body>
...
consulta.php = recebe os dados digitados no input da index.html, utiliza a função explode().
<?php
//conexao com o BD
include("conexao.php");
//recebe o string via url
$busca = $_GET["busca"];
/*
Agora utiliando a função explode(), separo todas cada palavra recebida em $busca com um espaço.
Assim caso tenha sido digitado: apartamento 420.000, a variavel $new_string que agora é um array
terá como valor na posição zero apartamento e na posição um 420.000
$new_string[0] = apartamento
$new_string[1] = 420.000
*/
$new_string = explode(" ", $busca);
/*
criei esse laço de repetição para saber o tamanho o array, e em quanto variavel $i for menor que o tamanho do array $new_string,
$i vai receber mais um.
*/
for($i=0; $i<sizeof($new_string); $i++) {
//select procura se a $new_string posição $i é igual
$busca_rapida = mysql_query("SELECT * FROM cad_imoveis WHERE id=\"$new_string[$i]\" or cliente LIKE \"%$new_string[$i]%\" ") or die (mysql_error());
//recebe a quantidade de registros que atendem a consulta
$nLinhas = mysql_num_rows($busca_rapida);
}//FIM DO FOR
//verifica se houve algum registro que se encaixa na pesquisa, se sim pega os dados na tabela
if($nLinhas>=1)
{
//enquanto houver registros que se encaixem na pesquisa, pega os dados que interessam na tabela
while($dados = mysql_fetch_array($busca_rapida))
{
//aqui você pega na tabela os dados que interessam
$id = $dados["id"];
$cliente = $dados["cliente"];
//imprime na tela
echo "ID = $id <br /> CLIENTE = $cliente <br /><br />";
}//FIM WHILE
}//FIM IF
else
{
echo "Opss!! Não há registros para essa consulta. - Tente Novamente Por Favor";
}
?>
Bom espero ter ajudar alguem ai.
Uma maneira de fazer isso é dar um explode por espaço no que foi enviado, e ai realizar a consulta com base em casa palavra separadamente.