Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Lucas Maff.

formulario

Recommended Posts

Oi, sou novo aqui no forum, e tambem em PHP, estava ajudando o meu amigo a refazer o site dele, e tenho duvida neste campo de pesquisa.

quando eu seleciono a opção "indiferente", não aparece nenhum resultado, pois não tem nenhum dado com o "TIPO" = 0

aqui esta o código da pesquisa.php e do resultado.php

 

 

 

PESQUISA.PHP

 

<form name="formConsulta" action="RESULTADO.php" method="post">
   <div align="center"></div>

 <div align="center">
     <select name="tipo" id="cboTipo" class="comboSite">
       <option value="0">indiferente</option>
       <option value="1">Residência</option>
       <option value="2">Apartamento</option>
       <option value="3">Terreno</option>

 

 

 

 

RESULTADO.PHP

 

 

 

<?php
                       $consulta = "(SELECT //*DB,
                                       cod,
                                       nome,
                                       chamada,
                                       preco,
                                       bairro,
                                       cidade,
				tipo
                                   FROM domini_artgch
                                   WHERE situacao= 'ativo'
                                       AND tipo   = ".$_POST[tipo]."
				AND precofaixa = ".$_POST[precofaixa]."
                                   LIMIT 25)
                                   ORDER BY preco DESC";
                       $resultado = mysql_query($consulta, $conexao) or print mysql_error();
                       $row = mysql_affected_rows($conexao);

 

 

como fazer para que na opçao Indiferente da pesquisa.php, selecione dados do banco de dados com qualquer "tipo", seja 0, 1, 2, etc...

desde ja agradeço qualquer ajuda!

e espero tambem poder contribuir futuramente!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz assim:

<?php                                 
       $consulta = sprintf( "SELECT * FROM `domini_artgch` WHERE `situacao` = '%s' %s AND `precofaixa` = '%s'" ,
       'ativo' , ( $_POST[ 'tipo' ] > 0 ) ? "AND `tipo` = '".$_POST[ 'tipo' ]."'" : NULL , $_POST[ 'precofaixa' ] ); 
       $resultado = mysql_query( $consulta , $conexao ) or print mysql_error();
       $row = mysql_affected_rows( $conexao );

 

Explicando, o if ternário vai verificar se o que vem de 'tipo' é maior que 0, se for, é porque não é 'indiferente', caso contrário, deixa em branco, não filtrando pela condição and do sql.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.