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

(Resolvido) Ajuda no sistema de busca


Marina_DC

Pergunta

Oi pessoal, olha eu de novo aqui, acho que não consigo pensar muito bem em PHP pois sempre que alguém me pede um sistema em PHP eu tenho problemas em resolver.

Bom vamos lá. Queria saber se tem alguém para me ajudar com um sistema de busca para uma imobiliária. No site o cliente poderá escolher se ele quer pesquisar informações de imóveis por bairro ou por preço, no bairro tudo bem, coloquei um campo select no formulario com os nomes dos bairros e mando fazer a pesquisa no banco de dados. Agora na pesquisa por preço é que estou encotrando problemas, também usando um campo select eu coloquei as faixas de valores dos imóveis, assim:

<table width="313" border="1" bordercolor="#000000" cellpadding="0" cellspacing="0">
  <form name="comprar" method="post" action="venda_valor.php">
    <tr bgcolor="#999999"> 
      <td height="21" colspan="2" valign="top"> 
        <div align="center"><strong>Consulte 
          por valor:</strong></div></td>
    </tr>
    <tr> 
      <td width="82" height="21" valign="top" bgcolor="#CCCCCC">
<div align="right">Im&oacute;vel:</div></td>
      <td width="231" valign="top"><select name="imovel">
          <option value="0"><< Escolha o tipo de imóvel >></option>
          <option value="Casa">Casa</option>
          <option value="Apartamento">Apartamento</option>
          <option value="Comercial">Comercial</option>
          <option value="Lote">Lote</option>
          <option value="Chácara">Chácara</option>
          <option value="Sítio">Sítio</option>
        </select></td>
    </tr>
    <tr> 
      <td height="21" valign="top" bgcolor="#CCCCCC">
<div align="right">Valor:</div></td>
      <td valign="top">
      <select name="valor">
          <option value="0"><< Escolha o valor do imóvel >></option>
          <option value="1">Até 20.000,00</option>
          <option value="2">De R$ 21.000,00 à R$ 40.000,00</option>
          <option value="3">De R$ 41.000,00 à R$ 60.000,00</option>
          <option value="4">De R$ 61.000,00 à R$ 80.000,00</option>
          <option value="5">De R$ 81.000,00 à R$ 100.000,00</option>
          <option value="6">Acima de R$ 101.000,00</option>
        </select>
      </td>
    </tr>
    <tr> 
      <td height="24" colspan="2" valign="top">
<center><input type="submit" name="Submit2" value="Enviar"></center></td>
    </tr>
  </form>
</table>

Bom esse é o formulário onde a pessoa escolhe o tipo de imóvel e o valor. Esses dados são enviados para o arquivo venda_valor.php via POST, onde encontro problema acredito que seja na parte lógica, como fazer para ao selecionar qual faixa de valor a pessoa quer o arquivo pesquisar só os valores correspondentes no banco de dados.

Exemplo:

Ele seleciona o tipo de imóvel CASA e o valor DE R$ 21.000,00 à R$ 40.000,00.

No banco de dados deve-se procurar por valores ==21.000,00 e =<40.000,00.

Só que não sei como receber os valores do select e especificar qual faixa de valor deve ser consultado no banco.

Cá está meu problema espero encontrar alguém que possa me ajudar a resolver.

Abraços

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

POde concatenar o SQL

$sql = "SELECT campos FROM tabela WHERE 1=1";  // (WHERE 1=1 -> Maior POG da informática.. Masssss)

if( isset($_POST['imovel']) ){
    $sql .="AND imovel LIKE '" .$_POST['imovel']. "' ";
}
if( isset($_POST['valor']) ){
   $sql .= " AND valor => $_POST[valor] OR valor =< $_POST[valor]";
}

$consulta = mysql_query($sql);

Algo do tipo...

qlqr coisa evandrofontes@MSN.com

Link para o comentário
Compartilhar em outros sites

  • 0

Não adianta só que e foi passado, primeiro porque o que ela passou o select sempre vai existir, logo o isset se torna inútil, segundo, tem que tratar o resultado para ai sim montar a query...

$sql = "SELECT campos FROM tabela";

switch($_POST['valor']){
case 1: $menor = '0'; $maior = '20.000,00'; break;
case 2: $menor = '21.000,00'; $maior = '40.000,00'; break;

}

if($_POST['imovel'] != '0'){
    $sql .=" WHERE imovel LIKE '" .$_POST['imovel']. "'";

if($_POST['valor']  != '0'){
   $sql .= " AND valor BETWEEN '$menor' AND '$maior'";
}
}else{
if($_POST['valor']  != '0'){
   $sql .= " WHERE valor BETWEEN '$menor' AND '$maior'";
}
}

$consulta = mysql_query($sql);

A idéia é essa...

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