Ver Mensaje Individual
  #11 (permalink)  
Antiguo 26/02/2009, 20:54
Avatar de midpunto
midpunto
 
Fecha de Ingreso: enero-2004
Ubicación: España Palma de mallorca
Mensajes: 118
Antigüedad: 20 años, 3 meses
Puntos: 0
De acuerdo Respuesta: Filtrar consulta varias opciones

SOLUCIONADO por el momento, aqui dejo el ejemplo por si le sirve a alguien, esta es la única forma que me funciono sin ningún tipo de error:

Código PHP:
mysql_select_db($database_conect$conect);
//limpio valores,.. precios.
$prec_desde=str_replace(".","",$_POST['prec_desde']);
$prec_hasta=str_replace(".","",$_POST['prec_hasta']);

//chequeo las variables POST que llegan
if ($_POST['id']!="") {$filtro1="AND id = '".$_POST['id']."'";}
if (
$_POST['zona']!="") {$filtro2="AND zona = '".$_POST['zona']."'";}
if (
$_POST['nombre_zona']!="") {$filtro3="AND nombre_zona = '".$_POST['nombre_zona']."'";}
if (
$_POST['tipo']!="") {$filtro4="AND tipo = '".$_POST['tipo']."'";}
if (
$_POST['dormitorios']!="") {$filtro5="AND dormitorios = '".$_POST['dormitorios']."'";}
if (
$_POST['ascensor']!="") {$filtro6="AND ascensor = '".$_POST['ascensor']."'";}
if (
$_POST['garage']!="") {$filtro7="AND garage = '".$_POST['garage']."'";}
if (
$_POST['terraza']!="") {$filtro8="AND terraza = '".$_POST['terraza']."'";}
if (
$_POST['prec_desde']!="") {$filtro9="AND precio >= '$prec_desde'";}
if (
$_POST['prec_hasta']!="") {$filtro10="AND precio <='$prec_hasta'";}

//a continuacion genero la consulta dinamicamente segun los valores que lleguen desde el formulario y concatenando las variables
$query_busca "SELECT * FROM propiedades WHERE situacion='".$_POST['situacion']."' $filtro1 $filtro2 $filtro3 $filtro4 $filtro5 $filtro6 $filtro7 $filtro8 $filtro9 $filtro10";
$query_limit_busca sprintf("%s LIMIT %d, %d"$query_busca$startRow_busca$maxRows_busca);
echo 
"$query_busca"// con esto veo la consulta que realmente se esta ejecutando
$busca mysql_query($query_limit_busca$conect) or die(mysql_error());
$row_busca mysql_fetch_assoc($busca); 
Bueno me alegro por dos cosas , la primera es por haber conseguido solucionarlo y la segunda es por poder compartirlo.
Saludos.