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

Problema com variaveis no php


KaitoO

Pergunta

Boa tarde...

estou com problema na realização de uma busca com mais de 1 campo no DB

segue abaixo o formulario pra analisarem

<form action="avancada.php?estado=<?php echo $estado = $_GET['estado']; ?>" method="post">
<fieldset>
<legend>Busca avançada</legend>
  <label>Qtde de dormitorio</label>
        <select name="dormitorio">
            <option value="">Selecione</option>
              <option value="Apartamento 2 dormitórios">Dois dorm</option>
              <option value="Apartamento 3 dormitórios">Três dorm</option>
        </select>
   <label>Valor do Apartamento</label>
           <select name="valor">
            <option value="">Selecione</option>
            <option value="250">Até R$ 250.000,00</option> 
            <option value="251">R$251.000,00 a R$ 400.000,00</option>            
            <option value="401">R$401.000,00 a R$ 600.000,00</option>
            <option value="601">R$601.000,00 a R$ 900.000,00</option>
            <option value="901">Acima de R$ 900.000,00</option>
        </select>
    <label>Fase da Obra</label>
        <select name="fase">
            <option value="">Selecione</option>
            <option value="Breve Lançamento">Breve Lançamento</option>
            <option value="Lançamento">Lançamento</option>
            <option value="Em Obras">Em Obras</option>
            <option value="Pronto para morar">Pronto para morar</option>
            <option value="Entrega em 2009">Entrega em 2009</option>
        </select>
    <label>Área Privativa</label>
        <select name="area">
            <option value="">Selecione</option>
            <option value="100">até 100m²</option>
            <option value="101">de 101m² a 150m²</option>
            <option value="151">de 151m² a 200m²</option>
            <option value="201">de 201m² a 300m²</option>
            <option value="300">acima de 300m²</option>
        </select>
    <input type="submit" value="Enviar" name="submit" />
</fieldset>
</form>
Na versão 4 do php ele funcionava perfeitamente... porém instalei a versao 5 e deu uns conflitos segue abaixo o codigo da pagina q executa a busca
<?php
    include("banco.php");    
    if(isset($_POST["valor"])){
        if($_POST["valor"]==250){
            $minimo = 1000.00;
            $maximo = 250000.00;
        }
        if($_POST["valor"]==251){
            $minimo = 251000.00;
            $maximo = 400000.00;
        }
        if($_POST["valor"]==401){
            $minimo = 401000.00;
            $maximo = 600000.00;
        }
        if($_POST["valor"]==601){
            $minimo = 601000.00;
            $maximo = 900000.00;
        }
        if($_POST["valor"]==901){
            $minimo = 901000.00;
            $maximo = 1900000.00;
        }
        $valor = $_POST["valor"];
        $sql_valor =  'AND valor <= {$maximo} AND valor >= {$minimo}'; //cria auxiliar pro sql
    }
    //AREA PRIVATIVA
    if(isset($_POST["area"])){
        if($_POST["area"]==100){
            $min = 1;
            $max = 100;
        }
        if($_POST["area"]==101){
            $min= 101;
            $max = 150;
        }
        if($_POST["area"]==151){
            $min = 151;
            $max = 200;
        }
        if($_POST["area"]==201){
            $min = 201;
            $max = 300;
        }
        if($_POST["area"]==300){
            $min = 301;
            $max = 901;
        }
        $area = $_POST["area"];
        $sql_area =  'AND area_privativa <= {$max} AND area_privativa >= {$min}'; //cria auxiliar pro sql
    }else{
        unset($sql_area);
    }

    if (isset($_POST["fase"])){ //Verifica se est preenchido
        $fase = $_POST["fase"];
        $sql_fase = " AND fase_obra LIKE '%$fase%' ";
        }else{
            unset($sql_fase);
        }
        $dormitorio = htmlspecialchars(addslashes($_POST['dormitorio']), ENT_QUOTES);
    if(isset($_POST['submit'])) {
        
        
        $res = "SELECT * FROM empreendimento WHERE tipo_imovel LIKE '%$dormitorio%' $sql_valor $sql_fase $sql_area";
                $query = mysql_query($res);//adiciona sql auxiliar
                echo $res;
                $resultnum = mysql_num_rows($query); 
                if($resultnum>0) { 
                    while($linha=mysql_fetch_array($query)) { // 
                        $projeto = $linha["empreendimento"];
                        $cidade = $linha["cidade"];
                        $imovel = $linha["tipo_imovel"];
                        $area = $linha["area_privativa"];
                        $fase = $linha["fase_obra"];
                        $valor = $linha["valor"];
                        echo "<ul>";
                        echo "<li>$projeto</li>"."<li>$cidade</li>"."<li>$imovel</li>"."<li>$area"."m²</li>"."<li>$fase</li>"."<li>$valor</li>";
                        echo "</ul>";
                        
                    }
                    echo "<a href=\"java script:parent.history.back();\">voltar</a>";
                }else{
                    echo "nada encontrado";
                }
            }
?>

o erro q acontece é na QUERY... com o seguinte alerta

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\wamp\www\construtora\avancada.php on line 88

nada encontrado

porem não sei o q pode estar acontecendo

alguém pode me dar uma ajuda?

Agradeço desde já =D :blush:

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

então... fiz isso

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '} AND valor >= {$minimo} AND fase_obra LIKE '%Em Obras%' AND area_privativa <=' at line 1

apareceu isso

tenho q trocar o } e acrescentar '}?

Link para o comentário
Compartilhar em outros sites

  • 0

então!!

$sql_valor = 'AND valor <= "$maximo" AND valor >= "$minimo"'; //cria auxiliar pro sql

fiz desse jeito

ele não trouxe nenhum erro

porem!!

no banco tem 1 valor q eu setei!!

creio q esteja na concatenaçao ainda não é??

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

  • 0

$res = "SELECT * FROM empreendimento WHERE tipo_imovel LIKE '%$dormitorio%' $sql_valor $sql_fase $sql_area";
                $query = mysql_query($res);

                        while($linha=mysql_fetch_array($query))
                        {
                             $row = mysql_num_rows($query);
                        if($row>0) { 

                        $projeto = $linha["empreendimento"];
                        $cidade = $linha["cidade"];
                        $imovel = $linha["tipo_imovel"];
                        $area = $linha["area_privativa"];
                        $fase = $linha["fase_obra"];
                        $valor = $linha["valor"];

me diga se deu certo

Link para o comentário
Compartilhar em outros sites

  • 0

isso eu fiz!!

sei o q é concatenar!!

deu erro

Notice: Undefined variable: maximo in C:\wamp\www\construtora\avancada.php on line 45

Notice: Undefined variable: minimo in C:\wamp\www\construtora\avancada.php on line 45

o modo do DeeKiller seguiu em frente... mas não encontrou nada!

Editado por KaitoO
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,2k
    • Posts
      652k
×
×
  • Criar Novo...