id | Alumno | Asistencia
--------------------------
1 | Miguel |
2 | Javier |
3 | Ruben |
las asistencias inicialmente estan vacias y es lo que debo actualizar.
hice un formulario dinámico que actualize los datos de asistencia (Presente = P y Ausente =A) de una tabla, que al elegir una opcion del select, sin boton submit, tras un evento onchange, va y actualiza dicha tabla y refresca los los cambios al recargar la página.
Ahora bien, funciona de maravillas a partir del SEGUNDO SELECT, el problema que en el primer select no actualiza, el resto joya.
les muestro a ver quien me puede dar una mano por favor. Y gracias de antemano.
todo dentro de un solo archivo PHP...
'<?php'
// aqui recibo por GET las variables: Id y asis
if(isset($_GET["asis[]"]))
{
include 'conex.php';
$id=$_GET['id'];
$asis=$_GET['asis'];
// aqui actualizo el campo de la tabla en base al id recibido
$query = mysql_query("UPDATE tabla SET `asis`='".$asis."' WHERE id='".$id."'");
mysql_free_result($query);
}
?>
//aqui tengo el formulario que carga como resultado del query a la tabla.
<html><body>
<table>
<?php
$q2 = mysql_query("SELECT * FROM tabla");
while ($row = mysql_fetch_assoc($q2))
{
// declaro las variables
$id = $row[id];
$asis = $row[asis];
$alumno = $row[alumno];
echo '<form action="#" method="get" name="actualiza">';
// aqui la columna con los nombres de los alumnos
echo '<tr>';
echo '<td class="tbl_alumnos">'.$alumno.'</td><td>';
// aqui la columna con el combo de Ausente / Presente que al cambiar llama a onchange()
echo '<td>';
echo '<SELECT name="asis[]" onchange="this.form.submit()">';
echo '<OPTION value="'.$asis.'" selected>'.$asis.'</OPTION>';
echo '<OPTION value="A">Ausente</OPTION>';
echo '<OPTION value="P" >Presente</OPTION>';
echo '</SELECT>';
echo '</td>';
echo '</tr>';
// envio el id del registro en modo hidden por GET para saber que id actualizar
echo '<input type="hidden" name="id" value="'.$id.'">';
echo '</form>';
}
mysql_free_result($q2);
?>
</table>
</body>
</html>
LA CUESTION ES LA SIGUIENTE:
Cuando carga la página, a partir del segundo SELECT actualiza a la perfecccion hasta el final de los ID encontrados.
El PROBLEMA esta con el PRIMER select, que no actueliza, ya lo he probado con otras tablas y me hace lo mismo, lo que noto es que no envia NADA por GET sólo el primer select. En el primer registro encontrado.
El resto de los registros funcionan de MARAVILLA....
Alguien me puede decir que esta pasando?????