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

Dúvida para script IMOBILIÁRIO - alguém ajuda?


luizcarlosli

Pergunta

Boa noite pessoal... sou novo no fórum e preciso de uma ajuda...

Desculpa encomodar vocês, mas eu gostaria de saber se alguém pode me ajudar...

Estou aprendendo agora php com hmtl5, porém eu não sei fazer sites imobiliarios... na verdade eu não sei fazer aquele sistema de busca avançada onde o cliente possa selecionar uma ou mais opçoes para busca...

Desculpa estar pedindo muito, mas se alguém souber como faço isso de forma mais simples eu já agradeço..

Boa noite e desde já agradeço.

Editado por luizcarlosli
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

olha eu tive que fazer algo parecido! E achei uma solução bem massa que funcionou pra mim... no meu caso uso checkboxes, text e select.

Usando uma Query Dinâmica!!

<div style="floar:left; width:250px;" id="filtros" class="col-md-4 column">
<form id="form1" name="form1" method="post" action="">
<p><h4>Nome:</h4>
<input name="nome" type="text" size="20">
</p>
<hr>
<h4>Onde comer?</h4>
<p>
<input type="checkbox" name="delivery" id="delivery" value="1">
<label for="checkbox">Delivery </label>
</p>
<p>
<input type="checkbox" name="delivery" id="delivery" value="1 OR delivery LIKE 2">
<label for="checkbox2">No local </label>
</p>
<hr>
<div style="min-width:100px; max-width:250px; margin:0 auto;" class="panel-group" id="panel-322595">
<div class="panel panel-default">
<div class="panel-heading">
<a class="panel-title collapsed" data-toggle="collapse" data-parent="#panel-322595" href="#panel-element-714209">Tipo de estabelecimento</a>
</div>
<div id="panel-element-714209" class="panel-collapse collapse">
<div class="panel-body">
<p>
<input type="checkbox" name="estabelecimento[]" value="Restaurante">
<label for="checkbox3">Restaurante </label>
</p>
<p>
<input type="checkbox" name="estabelecimento[]" value="Bar">
<label for="checkbox3">Bar </label>
</p>
<p>
<input type="checkbox" name="estabelecimento[]" value="Lanche">
<label for="checkbox3">Lanche </label>
</p>
<p>
<input type="checkbox" name="estabelecimento[]" value="Pizzaria">
<label for="checkbox3">Pizzaria </label>
</p>
<p>
<input type="checkbox" name="estabelecimento[]" value="Fast Food">
<label for="checkbox3">Fast Food </label>
</p>
<p>
<input type="checkbox" name="estabelecimento[]" value="Pastelaria">
<label for="checkbox3">Pastelaria </label>
</p>
<p>
<input type="checkbox" name="estabelecimento[]" value="Self-Service">
<label for="checkbox3">Self-Service </label>
</p>
<p>
<input type="checkbox" name="estabelecimento[]" value="Cafeteria">
<label for="checkbox3">Cafeteria </label>
</p>
<p>
<input type="checkbox" name="estabelecimento[]" value="Sorveteria">
<label for="checkbox3">Sorveteria </label>
</p>
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<a class="panel-title collapsed" data-toggle="collapse" data-parent="#panel-322595" href="#panel-element-719187">Tipo de comida</a>
</div>
<div id="panel-element-719187" class="panel-collapse collapse">
<div class="panel-body">
<p>
<input type="checkbox" name="pratos[]" value="Bovino">
<label for="checkbox3">Bovino </label>
</p>
<p>
<input type="checkbox" name="pratos[]" value="Frango">
<label for="checkbox3">Frango </label>
</p>
<p>
<input type="checkbox" name="pratos[]" value="Peixe">
<label for="checkbox3">Peixe </label>
</p>
<p>
<input type="checkbox" name="pratos[]" value="Suino">
<label for="checkbox3">Suino </label>
</p>
<p>
<input type="checkbox" name="pratos[]" value="Massa">
<label for="checkbox3">Massa </label>
</p>
<p>
<input type="checkbox" name="pratos[]" value="Caldo">
<label for="checkbox3">Caldo </label>
</p>
<p>
<input type="checkbox" name="pratos[]" value="Porções">
<label for="checkbox3">Porções </label>
</p>
<p>
<input type="checkbox" name="pratos[]" value="Salada">
<label for="checkbox3">Salada </label>
</p>
<p>
<input type="checkbox" name="pratos[]" value="Caseira">
<label for="checkbox3">Caseira </label>
</p>
<p>
<input type="checkbox" name="pratos[]" value="Pratos executivo">
<label for="checkbox3">Pratos executivos </label>
</p>
<p>
<input type="checkbox" name="pratos[]" value="Açai">
<label for="checkbox3">Açai</label>
</p>
<p>
<input type="checkbox" name="pratos[]" value="Suco">
<label for="checkbox3">Sucos</label>
</p>
<p>
<input type="checkbox" name="pratos[]" value="Crepe">
<label for="checkbox3">Crepe </label>
</p>
<p>
<input type="checkbox" name="pratos[]" value="Omelete">
<label for="checkbox3">Omelete </label>
</p>
<p>
<input type="checkbox" name="pratos[]" value="Salgado">
<label for="checkbox3">Salgado </label>
</p>
<p>
<input type="checkbox" name="pratos[]" value="Pizza">
<label for="checkbox3">Pizza </label>
</p>
<p>
<input type="checkbox" name="pratos[]" value="Sanduíche">
<label for="checkbox3">Sanduíche </label>
</p>
<p>
<input type="checkbox" name="pratos[]" value="Mexido">
<label for="checkbox3">Mexido </label>
</p>
<p>
<input type="checkbox" name="pratos[]" value="Wrap">
<label for="checkbox3">Wrap </label>
</p>
<p>
<input type="checkbox" name="pratos[]" value="Pastel">
<label for="checkbox3">Pastel </label>
</p>
<p>
<input type="checkbox" name="pratos[]" value="Cerveja">
<label for="checkbox3">Quero é beber cerveja! </label>
</p>
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<a class="panel-title collapsed" data-toggle="collapse" data-parent="#panel-322595" href="#panel-element-714266">Período de funcionamento</a>
</div>
<div id="panel-element-714266" class="panel-collapse collapse">
<div class="panel-body">
<p>
<input type="checkbox" name="periodo[]" value="Manhã">
<label for="checkbox">Manhã </label>
</p>
<p>
<input type="checkbox" name="periodo[]" value="Tarde">
<label for="checkbox2">Tarde </label>
</p>
<p>
<input type="checkbox" name="periodo[]" value="Noite">
<label for="checkbox2">Noite </label>
</p>
<p>
<input type="checkbox" name="periodo[]" value="Madrugada">
<label for="checkbox2">Madrugada </label>
</p>
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<a class="panel-title collapsed" data-toggle="collapse" data-parent="#panel-322595" href="#panel-element-719188">Especialidade</a>
</div>
<div id="panel-element-719188" class="panel-collapse collapse">
<div class="panel-body">
<p>
<input type="checkbox" name="especialidade[]" value="Japonesa">
<label for="Japonesa">Japonesa </label>
</p>
<p>
<input type="checkbox" name="especialidade[]" value="Chinesa">
<label for="Chinesa">Chinesa </label>
</p>
<p>
<input type="checkbox" name="especialidade[]" value="Italiana">
<label for="Italiana">Italiana </label>
</p>
<p>
<input type="checkbox" name="especialidade[]" value="Mexicana">
<label for="Mexicana">Mexicana </label>
</p>
<p>
<input type="checkbox" name="especialidade[]" value="Árabe">
<label for="Árabe">Árabe</label>
</p>
<p>
<input type="checkbox" name="especialidade[]" value="Tailandesa">
<label for="Tailandesa">Tailandesa</label>
</p>
</div>
</div>
</div>
</div>
<hr>
<h4>Localização</h4>
<p>
<label for="categoria">Bairro:</label>
<select name="bairro" id="bairro">
<option value="" selected="selected" >Selecione...
<?php
$consulta=mysql_query("SELECT * FROM bairros ORDER BY bairro ASC");
while ($dados = mysql_fetch_array($consulta)) {
echo '<option value='. $dados['bairro'] .'>'. $dados['bairro'] .'</option>';
}
?>
</select>
</p>
<p>
<input width="120px;" type="image" src="img/busca.png" value="" />
</p>
</form>
</div>
<div class="col-md-8 column">
REPARE QUE OS NAMES DOS CAMPOS ESTÃO -> NOME[]
PARA VIREM EM FORMATO DE ARRAY
<?php
$cond = array(); //aqui você cria a array de condições pra query dinâmica
if(!empty($_POST['nome'])){
$cond[] = "nome_fantasia LIKE '%" . $_POST['nome'] . "%'"; //condição para o campo de texto onde "nome_fantasia" é o campo do meu banco de dados
}else{}
if(isset($_POST['delivery'])){
$cond[] = "delivery = " . $_POST['delivery']; //Aqui ele pega os dados do checkbox de nome delivery SE ele for setado
}else{}
if(isset($_POST['periodo'])){
$tratada_periodo = implode("%' OR periodo LIKE '%" , $_POST['periodo']); // Aqui eu trato os dados que vem da array do checkbox periodo com a implode ele separa cada dado que vem de cada checkbox pela sintaxe que quero usar na query SQL
$cond[] = "periodo LIKE '%" . $tratada_periodo . "%'"; // Aqui coloco os dados tratados na array cond
}else{}
if(isset($_POST['estabelecimento'])){
$tratada_estabelecimento = implode("%' OR estabelecimento LIKE '%" , $_POST['estabelecimento']);
$cond[] = "estabelecimento LIKE '%" . $tratada_estabelecimento . "%'";
}else{}
if(isset($_POST['pratos'])){
$tratada_pratos = implode("%' OR pratos LIKE '%" , $_POST['pratos']);
$cond[] = "pratos LIKE '%" . $tratada_pratos . "%'";
}else{}
if(isset($_POST['especialidade'])){
$tratada_especialidade = implode("%' OR especialidade LIKE '%" , $_POST['especialidade']);
$cond[] = "especialidade LIKE '%" . $tratada_especialidade . "%'";
}else{}
if(!empty($_POST['bairro'])){
$cond[] = "bairro LIKE '%" . $_POST['bairro'] . "%'";
}else{}
$group_cond = join(" AND " , $cond); // Aqui ele agrupa todas as condições montadas no array cond separando por AND... você também pode usar o OR dependendo do resultado que você quer chegar
//SQL query dinamica
$cmd = "SELECT * FROM empresas WHERE " . $group_cond; // Aqui ele monta a SQL
//Query
$estabelecimentos = mysql_query($cmd);
//Total resultados
@$total = mysql_num_rows($estabelecimentos);
if($total > 0){
echo 'Total de resultados encontrados: ' . $total . '<br />';
}
//Exibe os produtos selecionados
while (@$estabelecimento = mysql_fetch_array($estabelecimentos)) {
echo '<div class="ajustetamanho espacodestaque">
<div class="panel-primary ajustetamanho boxshadow">
<div style="height:50px" class="panel-heading">
<center>
<h3 class="panel-title">'. $estabelecimento['nome_fantasia'] . ' </h3></center>
</div>
<div class="panel-body">
<center><img width="120px" height="120px" src="logos/'. $estabelecimento['id_logo'] .'" \></center>
<center>
<p><a href="perfil.php?&id_empresa=' . $estabelecimento['id_empresa'] . ' "/><img src="img/informacao.png" style="margin-top:10px;" width="120px;"></a></p>
</center>
</div>
</div>
</div>'; }
?>
</div>
Qualquer duvida só falar :D
Achei esse script fantástico! Super útil!
Editado por leandrokc
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
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...