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

Pesquisa Em Bd


carol

Pergunta

oi gente,

preciso de uma ajudinha.

Tenho uma página de pesquisa no Banco de Dados que quero que tenha uma opção como no exemplo abaixo:

Nº de Quartos

1 a 2

3 a 4

Só que no código não consegui fazer isso. COmo faz? (só consigo se a pesquisa for por um unico numero. Por exemplo 1 Quarto ou 2 Quartos, não com uma opção que deve ter um numero entre 2 ou 3 por exmplo.)

O meu código segue abaixo:

<? 
$conec; 
$bco; 
$conectou = 0; 
include "conexao.php"; 
if ($conectou) { 

$sql = "select * from tb_imoveis where para = '$txt_para' "; 

if ($txt_tipo != "") $sql .= " and tipo = '$txt_tipo' "; 
if ($txt_bairro != "") $sql .= " and bairro = '$txt_bairro' "; 
if ($txt_dorm != "1") $sql .= " and dorm = 1 "; 
if ($txt_dorm != "2") $sql .= " and dorm = (2 or 3) "; 
if ($txt_dorm != "4") $sql .= " and dorm = (4 or 5) "; 
if ($txt_dorm != "5") $sql .= " and dorm >= 5 "; 
if ($txt_preco != "") $sql .= " and preço <= '$txt_preco' "; 

$res = mysql_query($sql,$conec); 

$linhas = mysql_num_rows($res); 

if (($res) and ($linhas)) { 
include "selecionapesquisa.php"; 
} 

else { 
echo "Nenhum imóvel encontrado nesse perfil."; 
echo "<br><a href='javascript:history.go(-1)'><< Voltar</a><br>"; 

} //fecha else 
} //fecha conectou 
?>

Eu já tentei colocar aspas simples, colocar em perendes separados.

Mais nada.

alguém sabe como fazer isso?

obrigada a todos!!!

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Acredito q assim resolva:

if ($txt_tipo != "") $sql .= " and tipo = '$txt_tipo' "; 
if ($txt_bairro != "") $sql .= " and bairro = '$txt_bairro' "; 
if ($txt_dorm != "1") $sql .= " and dorm = 1 "; 
if ($txt_dorm != "2") $sql .= " or dorm = (2 or 3) "; 
if ($txt_dorm != "4") $sql .= " or dorm = (4 or 5) "; 
if ($txt_dorm != "5") $sql .= " or dorm >= 5 "; 
if ($txt_preco != "") $sql .= " and preço <= '$txt_preco' ";

...agora eu não sei se a parte do dorm = (2 or 3) vai funcionar ....+ quaquer coisa posta o erro q a gente resolve! ;)

Link para o comentário
Compartilhar em outros sites

  • 0

Vai funcionar da seguinte forma:

if ($txt_tipo != "") $sql .= " and tipo = '$txt_tipo' ";

if ($txt_bairro != "") $sql .= " and bairro = '$txt_bairro' ";

if ($txt_dorm != "1") $sql .= " and dorm = 1 ";

if ($txt_dorm != "2") $sql .= " and dorm in (2,3) ";

if ($txt_dorm != "4") $sql .= " and dorm in (4,5) ";

if ($txt_dorm != "5") $sql .= " and dorm >= 5 ";

if ($txt_preco != "") $sql .= " and preço <= '$txt_preco' ";

:D

Link para o comentário
Compartilhar em outros sites

  • 0

OK, tentarei assim que chegar em casa.

Só mais uma duvida:

No código você colocou como != , isso significa se for diferente correto? Mais eu quero que concatene se for igual, ai eu uso == ou só =?

Só explicando:

Nos outros eu coloquei != pois só tem uma opção para concatenar que é se for diferente de branco != "" ele usa o valor que viér na variavel. Agora no caso do DORM eu quero que execute de acordo com as opções 1, 2, 4 ou 5 que ai ele vai procurar por 1 - 2 ou 3 - 4 ou 5 - ou acima de 5 dormitórios.

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