Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá, sou iniciante em PHP. Preciso fazer um select para ordenar os imóveis por área, maior valor, menor valor, número de dormitórios e número de banheiros. Fiz de um jeito aqui, mas não está filtrando e apresentando na minha lista de imóveis. Será que alguém pode me ajudar, por favor?
Estou começando agora com o PHP, não tenho muito conhecimento. Vou postar o código aqui.
ORDENA_CIDADES.PHP
<div id="ordena">
<form name="filtrar"action="" method="POST">
<label>Ordenar por:</label>
<select name="Ordem" >
<option value="">Ordenar lista</option>
<option value="area" name="area">Área</option>
<option value="maiorvalor">Maior Valor</option>
<option value="menorvalor" >Menor Valor</option>
<option value="banheiros" >Banheiros</option>
<option value="dormitorios" >Dormitórios</option>
</select>
<input type="submit" name="executar" id="executar" value="Filtrar" />
</form>
</div><!--ordena-->
FUNC_CIDADES.PHP
<?php
ini_set('default_charset','UTF-8');
mysql_set_charset('utf8');
function d_imobivendSP(){
include"Connections/config.php";
$imovelStatus = 'completo';
$operaNegocio = 'vender';
$operaCidade = 'Sao Paulo';
$dataVal = date('Y-m-d H:m:s');
$pag = isset($_GET["pag"]) ? $_GET["pag"] : null;
if($pag >= '1'){
$pag = $pag;
}else{
$pag = '1';
}
$maximo = '20'; //RESULTADOS POR PÁGINA
$inicio = ($pag * $maximo) - $maximo;
$sql = "SELECT * FROM d_imoveis
WHERE imovelTermino >= :dataVal
AND imovelStatus = 'completo'
AND imovelNegocio = :operaNegocio
AND imovelCidade = :operaCidade
ORDER BY imovelId DESC LIMIT ".$inicio.','.$maximo;
try{
$query = $conecta->prepare($sql);
$query->bindValue(':dataVal', date('Y-m-d H:m:s'),PDO::PARAM_STR);
$query->bindValue(':operaNegocio', $operaNegocio,PDO::PARAM_STR);
$query->bindValue(':operaCidade', $operaCidade,PDO::PARAM_STR);
$query->execute();
$resultado = $query->fetchAll(PDO::FETCH_ASSOC);
}catch(PDOexception $error_imovels){
echo 'Erro ao selecionar os imoves!';
}
foreach($resultado as $res){
$imovelID = $res['imovelId'];
$tipo = $res['imovelTipo'];
$negocio = $res['imovelNegocio'];
$valor = $res['imovelValor'];
$thumb = $res['imovelThumb'];
$titulo = $res['imovelTitulo'];
$dormitorios = $res['imovelComodos'];
$data = $res['imovelCadastro'];
$bairro = $res['imovelBairro'];
$cidade = $res['imovelCidade'];
$estado = $res['imovelEstado'];
$rua = $res['imovelRua'];
$area = $res['imovelArea'];
$garagem = $res['imovelGaragem'];
$suites = $res['imovelSuites'];
$banheiros = $res['imovelBanheiros'];
$salas = $res['imovelSalas'];
if(isset($_POST['executar']) && $_POST['executar'] == 'Filtrar'){
switch (isset($_POST['ordem'])) {
case 'area':
$ordem = "ORDER BY imovelArea DESC LIMIT ".$inicio.','.$maximo;
break;
case 'maiorvalor':
$ordem = "ORDER BY imovelValor DESC LIMIT ".$inicio.','.$maximo;
break;
case 'menorvalor':
$ordem = "ORDER BY imovelValor ASC LIMIT ".$inicio.','.$maximo;
break;
case 'banheiros':
$ordem = "ORDER BY imovelBanheiros DESC LIMIT ".$inicio.','.$maximo;
break;
case 'dormitorios':
$ordem = "ORDER BY imovelDormitorios DESC LIMIT ".$inicio.','.$maximo;
break;
default:
$ordem = "ORDER BY imovelId DESC ";
}
}
echo'<ul>';
echo '<li>';
echo'<a href="index.php?pg=single&imovel=' . $imovelID . '"><img src="timthumb.php?src=midias/' . $thumb . '&h=120&w=160&zc=1" alt="' . $titulo . '" title="' . $titulo . '" border="0" /></a>';
echo '<span><a href="index.php?pg=single&imovel=' . $imovelID . '">R$ ' . $valor . ' - ' . $tipo . ' a ' . $negocio . ' </a></span>';
echo '<h1><a href="index.php?pg=single&imovel=' . $imovelID . '">' . $rua . ', ' . $bairro . ', ' . $cidade . ', ' . $estado . ' </a></h1>';
echo '<h2><a href="index.php?pg=single&imovel=' . $imovelID . '"> '.$area . ' m² | ' . $dormitorios . ' dormitórios | Garagem: ' . $garagem .' </a></h2>';
echo '<h2><a href="index.php?pg=single&imovel=' . $imovelID . '"> '. $suites . ' Suítes | ' . $banheiros. ' banheiros | '. $salas.' Salas </a></h2>';
echo '<h3><a href="index.php?pg=single&imovel=' . $imovelID . '"> '. $titulo . ' </a></h3>';
echo '<h4> <a href="#"><img src="images/visualizar.png" width="15 " height="15"/>Visualizar descrição</a></h4>';
echo '<h5><a href="index.php?pg=single&imovel=' . $imovelID . '">Ver outros detalhes</a></h5>';
echo '<h6><a href="#">Contatar anunciante</a></h6>';
echo'</li>';
echo'</ul>';
}
}
?>
Obs: Preciso saber o que fiz de errado. Gostaria também de remover o botão filtrar e fazer automaticamente após selecionar na combo. E carregar com um preload em JS.
Espero que me ajudem, obrigada.
Carregando comentários...