Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/03/2009, 10:10
Necrobone
 
Fecha de Ingreso: febrero-2009
Mensajes: 52
Antigüedad: 15 años, 2 meses
Puntos: 0
Filtrado Multiple (ultima duda)

Gracias a este foro he aprendido mucho, y he conseguido practicamente acabar un portal de información, cosa que me ha salvado la vida. Gracias a todos vosotros de antemano. Aunque solo me queda una cuestion que solucionar y seguramente sea una tonteria y una pesadez para vosotros. Necesito hacer un filtrado multiple.

Empezemos por el filtrado simple:

Código PHP:
if(isset($_POST['Filtrar']) && $_POST['Filtrar']=='Filtrar')
{
$Tipo $_POST['Tipo'];

$_pagi_sql "SELECT * FROM inmuebles WHERE Estado='Venta' AND Tipo='$Tipo'";
}
else
{
$_pagi_sql "SELECT * FROM inmuebles WHERE Estado='Venta'";
}

//Gracias a the_web_saint por el aporte. 
Simple verdad?
Mi problema viene dado a que el filtro de busqueda se compone de 5 campos:

Tipo, Provincia, Localidad, Precio y Numero de dormitorios.

Mi duda es: Como seria?.

Mi primera solucion a la cabeza ha sido algo así. (con dos campos nada mas, para empezar).

Código PHP:
$Tipo $_POST['Tipo'];
$Localidad $_POST['Localidad'];
if(isset(
$_POST['Filtrar']) && $_POST['Filtrar']=='Filtrar')
{
$_pagi_sql "SELECT * FROM inmuebles WHERE Estado='Alquiler' AND Tipo='$Tipo' AND Localidad='$Localidad'";
if(
$Localidad =='NULL'){
$_pagi_sql "SELECT * FROM inmuebles WHERE Estado='Alquiler' AND Tipo='$Tipo'";
if(
$Tipo =='NULL'){
$_pagi_sql "SELECT * FROM inmuebles WHERE Estado='Alquiler' AND Localidad='$Localidad'";    
}
else
{
$_pagi_sql "SELECT * FROM inmuebles WHERE Estado='Alquiler'";
}

Como comprendereis no funciona, pero es para ver si entendeis mi problema:

Al tener 5 campos de busqueda, tengo que armar el where con 5 variables, pero si esas variables son null, no deben salir en el where. Para que solo filtre lo que uno eliga, ya sea 2 campos, 3 campos o los 5. Ojala puedan solucionarme el problema. Es lo unico que me queda.