El amigo petit ya te a encaminado, el proble ma que veo que te plante es que si no hay ninguna condicion o si la condicion 'clasificacion' no existe te arroja error, ya que el where de la consulta no se llegaria a declarar nunca.
Para evitar esto lo mejor es construir el WHERE de forma dinamica.
Un ejemplo practico de lo que buscas podria ser el siguiente:
Te lo comento para que entiendas como funciona.
Código PHP:
Ver original<?php
$where='';
/* Condicion uno */
if( isset($_GET['clasificacion']) ){ $condiciones[]= " idclasificacion='$idclasificacion' "; // fijate que dejo espacios al principio y final de la condicion
}
/* Condicion dos */
if( isset($_GET['patio']) ){ $condiciones[]= " patio='$patio' "; // fijate que dejo espacios al principio y final de la condicion
}
/* TANTAS CONDICIONES COMO NECESITES */
/* Contruimos el where dinamicamente */
foreach ($condiciones as $k => $v) {
if($k==0){// si es el primer elemento del array condiciones añadimos el WHERE
$where=" WHERE $v ";// añado espacios al principio y al final por prevencion
}
else{//para el resto de elementos del array concatenamos el AND $v (condicion)
$where.=" AND $v ";// añado espacios al principio y al final por prevencion
}
}
/* destruimos el array condiciones que ya no es necesario */
/* contruimos la consulta SQL */
$sql="SELECT * FROM inmueble $where ";
/* y por fin la ejecutamos */
?>
de esta forma todas las condiciones pueden ser prescindibles y/o independientes unas de otras.
Un saludo