El problema yo lo estoy viendo aquí:
Código:
<?php require_once('Connections/formulario.php'); ?>
<?php
$OBS=$_POST["obss"];
//$n=$_POST["n"];
?>
<?php
for ($i=0;$i<count($OBS);$i++)
{
?>
<?php
$observa=$OBS[$i]." "; }
$sql = "UPDATE falla_cocina SET opcion=$observa";
$insertar=mysql_query($sql) or die(mysql_error());
?>
Primero una pregunta, este es el único código que tienes en el archivo o hay más código? Te lo pregunto más que nada porque me extraña ver en un código que es solo PHP, abrir y cerrar tantas veces el código PHP.
Con solo ver el código PHP yo lo dejaba así
Código:
<?php require_once('Connections/formulario.php');
$OBS=$_POST["obss"];
//$n=$_POST["n"];
for ($i=0;$i<count($OBS);$i++)
{
$observa=$OBS[$i]." "; }
$sql = "UPDATE falla_cocina SET opcion=$observa";
$insertar=mysql_query($sql) or die(mysql_error());
?>
Ahora, tu fallo está aquí. Dentro del bucle FOR tu solo tienes esto:
Código:
for ($i=0;$i<count($OBS);$i++)
{
$observa=$OBS[$i]." "; }
Esto lo que hace es ir almacenando en $observa cada valor que hay en el array de $OBS. Cuando lo haya hecho saldrá del bucle y ejecutará las consultar SQL.
Lo que deberías hacer es incluir dentro del bucle FOR la consulta SQL y la función SQL para que así te haga el UPDATE durante todo el bucle y para cada valor que se almacene en $observa.
EDITO: Un consejo que te doy y que creo que te ayudará bastante. Cuando crees una función, uses un condicional, bucle y se incluyan las llaves '{}' es mejor colocarlo de esta forma
Código:
if(condicion) {
Esto es una forma fácil y cómoda para poder encontrar los posibles fallos y saber que es lo que hay exactamente entre las llaves '{}'
} //Colocar la llave de cierre a la altura en la que empieza la función, condición, bucle...