Yo tengo este trozo de codigo para ir agregando AND's a la sentencia segun un select:
   Código PHP:
    $sql=''; 
    if($variable1!="valor"){ 
    $sql="AND campo1 LIKE '%$variable1%'"; 
    } 
    if($variable2!="valor"){ 
    $sql.=" AND campo2 LIKE '%$variable2%'"; 
    } 
    if($variable3!="valor"){ 
    $sql.=" AND campo3 LIKE '%$variable3%'"; 
    } 
    if($variable4!="valor"){ 
    $sql.=" AND campo4 LIKE '%$variable4%'"; 
    } 
    $sql=substr($sql,4); 
    
  Es para 4 campos de un select,donde valor puede ser todos,y entonces si es diferente de todos los productos de ese campo lo agrega a la sentecia.