Mira, es muy simple
cuando recorres el arreglo del que supuestamente asignas todos los valores a $campo1, en realidad estás asignandole un valor cada vez, por lo tanto al final $campo1 sale con el ultimo valor del arreglo y cuando modificas el valor en la tabla solo te afecta con el ultimo valor de $campo1.
Además que la forma en la que quieres imprimir la tabla no creo que sea la correcta.
Aquí te envío un código que está listo para pegar y sustituir ese que pusiste.
pruébalo y dime que tal.
Código PHP:
<?php
$array_debi= $_POST['debilidad'];
foreach ($array_debi as $campo) {
//echo $campo;
}
if (!empty($_POST["into"]))
{
$array_fue= $_POST['fuerza'];
//Con el foreach recorres todo el arreglo y asignas el valor a $campo1.
foreach ($array_fue as $campo1) {
//inserto el valor actual de $campo1 en la tabla.
$query = "UPDATE dia SET fuerzas = '$campo1' WHERE anio='$anio_consulta' ";
$tabla1 = mysql_query($query) or die(mysql_error());
}
//Ya terminaste de insertar todos los valores en la base de datos.
//Ahora tienes que hacer una nueva consulta e imprimir todos los valores de la tabla.
// Es incorrecto hacer esto: echo $tabla1;
// de esa forma no imprimes la base de datos.
$queryobtenerdatos = "SELECT * FROM dia WHERE anio='$anio_consulta'";
$resultqueryobtenerdatos = mysql($queryobtenerdatos) or die(mysql_error());
//Ahora tienes que hacer un ciclo para poder sacar los valores de la base de datos que ya están en $resultqueryobtenerdatos.
while ($unafiladedatos == mysql_fetch_assoc($resultqueryobtenerdatos)) {
echo $unafiladedatos['fuerzas']." ".$unafiladedatos['anio'];
echo"<br>";
}
}
else
{
echo "fallo al modificar";
}
?>