¿Por qué inserta solo el ultimo dato 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.
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 <input class="checkbox_'.$d.'" type="checkbox" name="f6" value="1" /> <input class="checkbox_'.$d.'" type="checkbox" name="f6" value="1" /> <input class="checkbox_'.$d.'" type="checkbox" name="f6" value="1" />
Pedro <input class="checkbox_'.$d.'" type="checkbox" name="f6" value="1" /> <input class="checkbox_'.$d.'" type="checkbox" name="f6" value="1" /> <input class="checkbox_'.$d.'" type="checkbox" name="f6" value="1" />
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.
Pero aun lo logro hacer esto, ya no se que mas moverle, les agradezco de antemano :)