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

Formulário de busca com mais de 2 campos.


mauros

Pergunta

Boa tarde a todos,

Estou fazendo um curso de PHP/MYSQL no Senai/Pronatec e meu professor lançou um desafio valendo 1 ponto na média final do curso.

O desafio é o seguinte: fazer um site de imobiliária, agencia de emprego ou e-comerce onde tivesse um formulário de busca que tenha no mínimo 8 campos <input> onde o usuário poderá buscar por todos os campos, por 1 campo, por 2 campos, por 3 campos ou deixar os <inputs> em branco e assim a busca seria por todos os dados na tabela.

Estou fazendo o da imobiliaria, na verdade já está pronto! Todo o site esta funcionado e buscando os imoveis cadastrado no banco exibindo-os na index.php por paginação.

Só falta terminar de fazer o formulário, pois o meu só está buscando pelo primeiro valor do "SELECT".

O meu form está assim:

<form id="busca" name="busca" action="buscadorFeito.php" method="post" enctype="multipart/form-data">
<h3>Buscar Imóvel</h3>
<p>Código do Jornal</p>
<input name="codigoBsc" id="codigoBsc" value="" type="text" class="input">
<p>Finalidade:</p>
<select name="passaValor" id="passaValor" onchange="getValor(this.value, 0)">
<option value="0" >Selecione...</option>
<option value="1">Venda</option>
<option value="2">Locação</option>
</select>
<p>Tipo de Imóvel</p>
<select name="tipo_imovelBsc" id="tipo_imovelBsc">
<option value="">Selecione...</option>
<option value="2">Apartamento</option>
<option value="1">Casa</option>
<option value="21">Fazenda</option>
<option value="21">Flat</option>
<option value="15">Galpão</option>
<option value="16">Garagem</option>
<option value="8">Kitnet</option>
<option value="14">Loja</option>
<option value="13">Sala</option>
<option value="10">Sitio</option>
<option value="15">SobreLoja</option>
<option value="3">Terreno</option>
</select>
<p>Cidade</p>
<select name="cidadesBsc" id="cidadesBsc">
<option value="">Selecione...</option>
<option value="petropolis">Petrópolis</option>
<!--
<option value="92">Angra dos Reis</option>
<option value="91">Buzios</option>
<option value="87">Rio Das Ostras</option>
<option value="88">Rio de Janeiro</option>-->
</select>
<p>Bairro</p>
<select name="bairro" id="bairro">
<option value="">Selecione...</option>
<option value="12">Alto da Serra</option>
<option value="3">Araras</option>
<option value="74">Bairro Mauá</option>
<option value="14">Bingen</option>
<option value="65">Capela</option>
<option value="21">Carangola</option>
<option value="20">Cascatinha</option>
<option value="86">Cascatinha - Estrada da Saudade</option>
<option value="85">Castelânea / Alto da Serra</option>
<option value="16">Castelânia</option>
<option value="66">Castrioto</option>
<option value="69">Cebolas</option>
<option value="82">Centenário</option>
<option value="1">Centro</option>
<option value="57">Chacara das Rosas</option>
<option value="22">Chácara Flora</option>
<option value="63">Copacabana</option>
<option value="72">Coronel Veiga</option>
<option value="7">Correas</option>
<option value="71">Costazul</option>
<option value="58">Cremerie</option>
<option value="48">Duarte da Silveira</option>
<option value="44">Duchas</option>
<option value="87">Esperança</option>
<option value="5">Fazenda Inglesa</option>
<option value="2">Itaipava</option>
<option value="67">Itamarati</option>
<option value="81">João Xavier</option>
<option value="56">Lagoinha</option>
<option value="15">Morin</option>
<option value="17">Mosela</option>
<option value="4">Nogueira</option>
<option value="46">Quarteirão Brasileiro</option>
<option value="70">Quarteirão Ingelheim</option>
<option value="19">Quissamã</option>
<option value="8">Quitandinha</option>
<option value="78">Retiro</option>
<option value="23">Retiro</option>
<option value="79">Rocio</option>
<option value="27">Rua Teresa</option>
<option value="76">Saldanha marinho</option>
<option value="38">Samambaia</option>
<option value="26">São Sebastião</option>
<option value="42">Sargento Boening</option>
<option value="52">Siméria</option>
<option value="24">Taquara</option>
<option value="35">Vale Florido</option>
<option value="13">Valparaíso</option>
<option value="83">Vila Felipe</option>
<option value="80">Vila Militar</option>
</select>
<p>Quartos &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Suítes</p>
<select name="quartosBsc" id="quartosBsc" class="combox">
<option value="" selected="">--</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="+5">5+</option>
</select>
<select name="suitesBsc" id="suitesBsc" class="combox">
<option value="" selected="">--</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="+5">5+</option>
</select>
<p class="valor">Valor R$:</p>
<select name="recebeValor" id="recebeValor" >
<option value="0">Selecione...</option>
</select>
<input type="submit" class="btn" value="Buscar">
<input type="hidden" id="buscaImovel" name="buscaImovel" value="1">
</form>
o meu buscador.php esta assim:
<?php
$con = mysql_connect('localhost','root','senha');
$db = mysql_select_db('banco');
$seleciona_imovel = mysql_query("SELECT * FROM cadastroimoveis WHERE
codigoimovel ='$codigoimovel' OR
finalidade='$finalidade' OR
tipo='$tipo' OR
cidade ='$cidade' OR
bairro ='$bairro' OR
quartos='$quartos' OR
suites='$suites' OR
valor ='$valor'
ORDER BY valor DESC");
if(mysql_num_rows($seleciona_imovel) == 0){
echo'<h3>Sem Resultados na busca </h3>';
}else{
while($linhaImovel = mysql_fetch_array($seleciona_imovel)){
echo"<hr />";
echo "<strong>Código: </strong>". $linhaImovel['codigoimovel']."<br />";
echo "<strong>Finaliadade :</strong>". $linhaImovel['finalidade']."<br />";
echo "<strong>Tipo: </strong>". $linhaImovel['tipo']."<br />";
echo "<strong>Cidade: </strong>" .$linhaImovel['cidade']."<br />";
echo "<strong>Bairro: </strong>" .$linhaImovel['bairro']."<br />";
echo "<strong>Quartos: </strong>" .$linhaImovel['quartos']."<br />";
echo "<strong>Suites: </strong>" .$linhaImovel['suites']."<br />";
echo "<strong>Valor: </strong>" .number_format($linhaImovel['valor'],2,',','.')."<br />";
?>
<img src="<?php echo $linhaImovel['caminho_foto'].$linhaImovel['foto'];?>" width=250 height=166"><br/><br/>;
<?php echo "<strong>Descrição: </strong>".$linhaImovel['descricao']."<hr /><br /><br />";?>
Alguém poderia me ajudar?
Obrigado!

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Muito bom! Índices do tipo Full-Text, no SQL Server, são utilizados para otimizar as buscas textuais. Por meio dele é possível apresentar para o usuário resultados semanticamente mais adequados à sua consulta, bem como ordenar esses resultados por relevância. Assim para melhor funcionamento de um sistema de buscas.

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...