Select com datas

Enviada por Rogerio Pancini Pereira 
Rogerio Pancini Pereira
Select com datas
09 de April de 2019 às 09:01PM
Boa tarde pessoal.

Estou com um problema com datas...

Tenho este db:

id valor_min valor_max slug descricao finalidade
1 100000.00 NULL 100000 Até R$ 100 mil
2 100001.00 150000.00 100001-150000 De R$ 100 até R$ 150 mil
3 150001.00 200000.00 150001-200000 De R$ 150 até R$ 200 mil
4 200001.00 300000.00 200001-300000 De R$ 200 até R$ 300 mil
5 300001.00 400000.00 300001-400000 De R$ 300 até R$ 400 mil
6 400001.00 500000.00 400001-500000 De R$ 400 até R$ 500 mil
7 500001.00 750000.00 500001-750000 De R$ 500 até R$ 750 mil
8 750001.00 1000000.00 750001-1000000 De R$ 750 até R$ 1 milhão
9 1000001.00 1200000.00 1000001-1200000 De R$ 1 até R$ 1.250 milhões
10 1250001.00 1500000.00 1250001-1500000 De R$ 1.250 até R$ 1.500 milhões
11 1500001.00 1750000.00 1500001-1750000 De R$ 1.500 até R$ 1.750 milhões
12 1750001.00 2000000.00 1750001-2000000 De R$ 1.750 até R$ 2 milhões
13 2000001.00 2250000.00 2000001-2250000 De R$ 2 até R$ 2.250 milhões
14 2250001.00 2500000.00 2250001-2500000 De R$ 2.250 até R$ 2.500 milhões
15 2500001.00 2750000.00 2500001-2750000 De R$ 2.000 até R$ 2.750 milhões
16 2750001.00 3000000.00 2750001-3000000 De R$ 2.750 até R$ 3 milhões
17 NULL 3000000.00 3000000 Acima de R$ 3 milhões
18 300.00 NULL 300 Até R$ 300
19 301.00 400.00 301-400 De R$ 301 até R$ 400
20 401.00 500.00 401-500 De R$ 400 até R$ 500
21 501.00 750.00 501-750 De R$ 500 até R$ 750
22 751.00 1000.00 751-1000 De R$ 750 até R$ 1.000
23 1001.00 1250.00 1001-1250 De R$ 1.000 até R$ 1.250
24 1251.00 1500.00 1251-1500 De R$ 1.250 até R$ 1.500
25 1501.00 2000.00 1501-2000 De R$ 1500 até R$ 2000
26 2001.00 3000.00 2001-3000 De R$ 2.000 até R$ 3.000
27 3001.00 5000.00 3001-5000 De R$ 3.000 até R$ 5.000
28 5001.00 7500.00 5001-7500 De R$ 7.500 até R$ 10.000
29 10001.00 12500.00 10001-12500 De R$ 10.000 até R$ 12.500
30 12501.00 15000.00 12501-15000 De R$ 12.500 até R$ 15.000
31 15001.00 30000.00 15001-30000 De R$ 15.000 até R$ 30.000
32 NULL 30000.00 30000 Acima de R$ 30.000

E estou fazendo o select:

$finalidade_id = 1;
$tipo_imovel_id = 2;
$cidade_id = 5256;
$bairro_id = "recanto-do-bosque";


$sql_json_1 = mysqli_query($config, "SELECT valor FROM tb_imovel WHERE finalidade = '".$finalidade_id."' GROUP BY valor") or die(mysqli_error($config));

if(@mysqli_num_rows($sql_json_1) <= 0){
echo "";
}else{
while($r_sql_json_1 = mysqli_fetch_array($sql_json_1)){

$valores[] = $r_sql_json_1['valor'];
}
}


$n = count($valores);

for($i=0; $i<$n; $i++){
echo "Valor " . $valores[$i];
echo "<br />";

$sql_json_2 = mysqli_query($config, "SELECT slug FROM tb_valores WHERE valor_max >= '$valores[$i]' AND valor_min <= '$valores[$i]' AND finalidade = '$finalidade_id'") or die(mysqli_error($config));

if(@mysqli_num_rows($sql_json_2) <= 0){
echo "Sem valor";
echo "<br />";
}else{
while($r_sql_json_2 = mysqli_fetch_array($sql_json_2)){
echo "slug " . $r_sql_json_2['slug'];
echo "<br />";
//$valores[] = $r_sql_json_1['valor'];
}
}
}

Ainda não é a aplicação final, por isso coloquei "Sem valor" para o valor não encontrado.
Quando tenho apenas um valor minimo ou um valor máximo, não encontra o valor.

Fui chegando nessa forma, não sei se é a melhor, mas para atender à necessidade, falta essa parte.
Seria possível fazer o select em casos de apenas um valor?

Obrigado!
Você precisa estar logado no PHPBrasil.com para poder enviar mensagens para os nossos fóruns.

Faça o login aqui.