Quizás lo podrías hacer así:
Código PHP:
$q = "select * from $Tabla where "; //ojo con el espacio al final
$criterio="";
if($CertNum!='')
{
if ($criterio=="")
{
$criterio.="CertNum =".$CertNum." ";
} else {
$criterio.=" and CertNum =".$CertNum." ";
}
}
if($Obra!='')
{
if ($criterio=="")
{
$criterio.="Obra Like '%$Obra%' ";
} else {
$criterio.=" and Obra Like '%$Obra%' ";
}
}
// para el resto hacer igual y al final
$q.=$criterio; //le añades el criterio a tu select
Como ves, se trata de añadir el " and " cuando ya hay algo en la variable $criterio. Si te funciona, yo te recomendaría sacar el "where" de donde lo tienes y meterlo en las asignaciones de criterior; así evitarías el probable error si no seleccionas ningún campo ;)
Un saludo