La solucion de Seppo esta muy maja, pero no se porque no me rula, si a alguno le sirve lo he dejado así:
Código PHP:
if ($_POST['foto']=='1'){
$foto ="AND foto";
}else{
$foto ="";
}
// imgaino que puedo añadirle tantos if a una variable para ir completando las posibilidades de la busqueda.
if ($_POST['provincia']=='99'){
$sql = "SELECT * FROM anuncio WHERE categoria='".$_POST['categoria']."' $foto AND act='1' ORDER BY id DESC";
}else{
$sql = "SELECT * FROM anuncio WHERE categoria='".$_POST['categoria']."' $foto AND provincia='".$_POST['provincia']."' AND act='1' ORDER BY id DESC";
}
Ahora me funciona como quiero, pero no obstante quiero ver si esto lo puedo mejorar para otras aplicaciones.
gracias por la ayuda.