No comprendo muy bien amigo, pero podemos empezar a analizar las primeras lineas
Código PHP:
Ver originalsql2="UPDATE articulos SET pr1 = '".$final."',
gar_art = '".$gar[$i]."',
proce = '".$pro[$i];
Que es la forma correta en la que debería estar
y en
Código PHP:
Ver originalswitch ($stk[$i]) {
CASE 0:
$sql2 .= "stk1 = stk1 + $can[$i] ";
break;
CASE 1:
$sql2 .= "stk2 = stk2 + $can[$i] ";
break;
CASE 2:
$sql2 .= "stk3 = stk3 + $can[$i] ";
break;
CASE 3:
$sql2 .= "stk4 = stk4 + $can[$i] ";
break;
}" //<--- Aqui hay una comilla doble que no debería existir
Esta parte de aquí nos indica que ésta mal planteado el código.
No comprendo bien el código, pero ésta parte está mal codificada.
Cuentanos que es lo que quieres lograr
Un saludo.