Sip mas o men os lo tienbe bien aunque tiene que tener en cuenta que si el usuario elije las tres opciones el sistema le debe traer los registros que cumplan con las 3 condiciones.
Código PHP:
$Condicion1 = $_POST[Condiciona];
$Condicion2 = $_POST[Condicionb];
$Condicion3 = $_POST[Condicionc];
if ($Condicion1 != 0)
$ConConsulta = "dato1 = $Condicion1";
if ($Condicion2 != 0)
{
if ($ConConsulta != 0) $ConConsulta." and ";
$ConConsulta = $ConConsulta."dato2 = $Condicion2";
}
if ($Condicion3 != 0)
{
if ($ConConsulta != 0) $ConConsulta." and ";
$ConConsulta = $ConConsulta."dato3 = $Condicion3";
}
if ($ConConsulta != 0) $ConConsulta = "where ".$ConConsulta;
$ConRegistros = "select * from tabla $ConConsulta";
Esa es la idea no lo probe pero es mas o menos asi para que se guie y logre hacer lo que quiere hacer. "Depronto puede organizando el codigo ahorrarse unas cuantas lineas pero asi como esta creo que le funciona"
Suerte