Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde Pessoal,
Estou com um problema, tenho um combo em minha página com a seguinte estrutura
<select name="valor" id="valor">
<option>Selecione</option>
<option value="1">10.000,00 a 100.000,00</option>
<option value="2">100.000,00 a 200.000,00</option>
<option value="3">200.000,00 a 300.000,00</option>
<option value="4">300.000,00 a 400.000,00</option>
<option value="5">400.000,00 a 1.000.000,00</option>
</select>
Em minha página onde recebo os valores, estou trabalhando da seguinte forma:
if (isset($_GET['valor']) && $_GET['valor'] > 0){
if ($_GET['valor'] == "1"){
$busca .= "AND valor_imovel >= '10.000,00' or valor_imovel <= '100.000,00'";
}elseif ($_GET['valor'] == "2"){
$busca .= "AND valor_imovel >= '100.000,00' or valor_imovel <= '200.000,00'";
}elseif ($_GET['valor'] == "3"){
$busca .= "AND valor_imovel >= '200.000,00' or valor_imovel <= '300.000,00'";
}elseif ($_GET['valor'] == "4"){
$busca .= "AND valor_imovel >= '300.000,00' or valor_imovel <= '400.000,00'";
}elseif ($_GET['valor'] == "5"){
$busca .= "AND valor_imovel >= '400.000,00' or valor_imovel <= '1.000.000,00'";
}
}
Os valores na minha tabela estão em valor moeda.
Mas não estou conseguindo retornar os dados.
Alguém pode me ajudar?
Grato.
www.guilhermefreire.com.br
Qual é o tipo do campo? VARCHAR???
Se for assim, não vai funcionar... Você precisa fazer um casting para buscar os dados ou alterar o tipo do campo para DECIMAL, FLOAT ou DOUBLE...
Provavelmente funcione:
$sql .= "AND CAST(valor_imovel AS FLOAT) BETEWEEN '10000.00' AND <= '100000.00'";