Hola no estoy entendiendo muy bien lo que quieres pero hasta donde llego te faltaria un condicional por si catId2 o catId3 vienen vacias.
no se algo asi
Código:
if($_POST['catid2'] == "")
{
$insert_catid2 = "";
}
else
{
$insert_catid2 = "tu consulta";
}
Lo mismo con el resto y en la consulta en vez de escribir toda la consulta solo pones la variable que en caso de tener datos ejecutara.
Espero que te sirva.