¿Por qué solo inserta el ultimo dato en mysql?

Hola amigos, tengo un problema el cual ya lleva varios días sacándome la cabeza y no entiendo.
Estoy desarrollando un sistema de control de asistencia de alumnos en php, todo va bien excepto que a la hora de tomar asistencia de los alumnos solo inserta en mysql el ultimo alumno y la ultima asignatura con su respectiva falta de asistencia.
Aquí esta el código.


La conexión:

<?php
function conexion(){
$con = mysql_connect("localhost","root","nose");
if (!$con){
die('Could not connect: ' . Mysql_error());
}
mysql_select_db("database", $con);
return($con);
}
?>

Este es el código que me lista los alumnos y las asignaturas.
Realizo consultas a varias tablas,una tabla de horarios(horario_primeroa)que contiene los horarios de todos los grados, una tabla llamada alumnos que me trae la lista de los alumnos de cada grado, en este caso Primero A.

<?php
include 'conexion.php';
echo'<h2>Tomar Asistencia</h2>';
$con=conexion();
$res=mysql_query("select * from horario_primeroa where num='53' ",$con);
echo '<center>';
echo '<form method="post" action="asistencia.php">';
 date_default_timezone_set('America/Bogota');
 $dia=date('w');
 if($dia==1)
 {$dia="lunes";}
 if($dia==2)
 {$dia="martes";}
 if($dia==3)
 {$dia="miercoles";}
 if($dia==4)
 {$dia="jueves";}
 if($dia==5)
 { $dia="viernes";}
 echo $dia;
echo '<p><label>Tomar Asistencia</label></p>
 <table border="1" width="92%"> ';
 echo '<td align="center" width="310">Nombre</td>';
while($fila=mysql_fetch_array($res))
{
$q=$fila['nomgrado'];
//echo $fila[$dia];
echo '<td align="center" width="119">';
echo '<input type=text name=asig1 size=9 readonly=readonly value='.$fila[$dia].' style="vertical-align: center; border: 1px solid #FFFFFF; padding: 0">';
echo '</td>';
}
$result=mysql_query("select * from alumnos where grado='Primero A' ",$con);
while($fila=mysql_fetch_array($result))
{
echo '<tr>';
echo '<td align="center" width="119">';
echo "<input type=text name=nombre1 size=9 readonly=readonly value=".$fila['nombre_alumno'] ." style='vertical-align: center; border: 1px solid #FFFFFF; padding: 0'>";
echo '</td>';
$d=$fila['id_alumno'];
echo '<head>
 <script src="jquery.min.js"></script>
 <script type="text/javascript">
 $(document).ready(function(){
 $(".togglecheckbox").bind("click",function()
 {
 if ($(this).attr("checked")==true)
 {
 $("input.checkbox").each(function(){ $(this).attr("checked",true); });
 }
 else
 {
 $("input.checkbox").each(function(){ if ($(this).data("checked")==0) $(this).removeAttr("checked"); });
 }
 });
 $(".togglecheckbox_'.$d.'").bind("click",function()
 {
 if ($(this).attr("checked")==true)
 {
 $("input.checkbox_'.$d.'").each(function(){ $(this).attr("checked",true); });
 }
 else
 {
 $("input.checkbox_'.$d.'").each(function(){ $(this).removeAttr("checked"); });
 }
 });
 });
 </script>
</head>';
echo '<td align="center" width="119"><label>
 <input type="checkbox" class="togglecheckbox_'.$d.'" name="f1" value="1"></label></td>
 <td align="center" width="119"><label>
 <input type="checkbox" name="f2" value="1" class="checkbox_'.$d.'"></label></td>
 <td align="center" width="119"><label>
 <input type="checkbox" name="f3" value="1" class="checkbox_'.$d.'"></label></td>
 <td align="center" width="119"><label>
 <input type="checkbox" name="f4" value="1" class="checkbox_'.$d.'"></label></td>
 <td align="center" width="119"><label>
 <input type="checkbox" name="f5" value="1" class="checkbox_'.$d.'"></label></td>
 <td align="center" width="119"><label>
 <input type="checkbox" name="f6" value="1" class="checkbox_'.$d.'"></label></td>
 <td align="center"><label>
 <input type="checkbox" name="f7" value="1" class="checkbox_'.$d.'"></label></td> </tr>'; 
} 
echo '</center>';
echo '</table>';
echo '<p><input type="submit" value="Enviar" name="B1"></p>';
echo '</form>';
echo "</body>";
?>


La idea es que al tomar la asistencia de X cantidad de alumnos, guarde la falta de esa materia por alumno, y también guarde el nombre de ese alumno que se le pone la falta .
Me explico, si tengo dos alumnos, por ejemplo:


Nombre Matemáticas Ingles Física
Juan x x
Pedro x


Al marcar digamos dos casillas de Juan y una de Pedro, debería guardarme las faltas correspondientes. Digamos Juan falto a ingles y física, así que solo debería guardarme en la base de datos el nombre, en este caso Juan y las asignaturas a las que falto, ingles y física, y si marco alguna casilla de Pedro tambien deberia guardar los mismos datos, teniendo en cuenta de que la lista de alumnos es aun mas amplia, por lo tanto serian varios nombres y varias casillas y solamente debe guardar los alumnos que tienen falta de asistencia.

Nombre-asignatura a la que falto.
Pero aun lo logro hacer esto, ya no se que mas moverle, si pudiesen ayudarme les agradeceria mucho :)

Añade tu respuesta

Haz clic para o