Tengo una tarea para hacer una aplicación que inserte las calificaciones de unos alumnos en las diferentes tareas que tengan que hacer.
La cuestión está, en que genero un Formulario consistente de una tabla de longuitud aleatoria, ya que hay tareas que van para más o menos alumnos. Y dentro de esta tabla, incluyo una celda en la que el usuario introduce la calificación de dicho alumno.
El problema está a la hora de pasar toda esa información a otro elemento InsertaCalificacion.php, donde voy a insertar los valores. Ya que además del de la celda que tengo, necesito los identificadores de los alumnos para mantener la integridad de la base de datos.
Tengo esto en la página del formulario.
Código PHP:
<?php
$idt = $_GET['idtarea'];
$sql = "SELECT Alumno.Id_Alumno AS i, Alumno.Nombre AS n, Alumno.Apellidos AS a, Alumno.CorreoElectronico as c FROM Alumno, Tarea, TareaGrupo WHERE Tarea.Id_Tarea = '$idt' AND Tarea.Id_Tarea = TareaGrupo.Id_Tarea AND Alumno.Id_Grupo = TareaGrupo.Id_Grupo";
$result = ConexionBD($sql);
while($row = mysql_fetch_array($result))
{
$var = $row["i"];
echo $var;
echo "<tr><td width=\"25%\"><font face=\"verdana\">" .
$row["n"] . "</font></td>";
echo "<td width=\"25%\"><font face=\"verdana\">" .
$row["a"] . "</font></td>";
echo "<td width=\"25%\"><font face=\"verdana\">" .
$row["c"] . "</font></td>";
echo "<td align=\"right\"><input type=\"text\" name=\"IdsAlumnos[]\ value=\"0\"></td>";
echo "<input type='hidden' name='idtarea' value='$idt'>";
echo "<td align=\"right\"><input type=\"hidden\" name=\"idalumno[]\ value=\" echo $var \"></td>";
echo $var;
}
mysql_free_result($result);
CierraConexionBD();
?>
Código PHP:
<?php
//echo 'IdTarea';
$identificador = $_GET['idtarea'];
//echo $identificador;
//echo 'IdAlumno';
$idalumnos = $_GET['idalumno'];
for ( $i = 0; $i < count($_GET["IdsAlumnos"]);$i++){
//echo 'Id_Alumno';
echo "Id_Alumno $i = " .$_REQUEST["idalumno"][$i] . " <br>";
echo "Calificacion $i = " .$_REQUEST["IdsAlumnos"][$i] . " <br>";
}
for ($i = 0; $i < count($_GET["idalumno"]); $i++){
echo 'Funcionan Identificadores';
}
?>
Id_Alumno 0 =
Calificacion 0 = 10
Id_Alumno 1 =
Calificacion 1 =
Id_Alumno 2 =
Calificacion 2 =
Id_Alumno 3 =
Calificacion 3 =
En el caso de que solo hubiese calificado al primero de los cuatro alumnos.
El problema está, en que el identificador de los alumnos nunca me los imprime. Y aun así, en el primer bloque de código cuando ejecuto
Código PHP:
$var = $row["i"];
echo $var;
Ya no se si es algún problema de comillas simples o dobles, o que, pero tengo que buscar alguna forma de mover esos identificadores al otro formulario que es donde posteriormente hago la insercción con los datos que me llegan. Aun así, el problema está en esta línea y por más que hago para probar combinaciones, no doy con la adecuada
Código PHP:
echo "<td align=\"right\"><input type=\"hidden\" name=\"idalumno[]\ value=\" echo $var \"></td>";
Un Saludo.