Estoy con la siguiente idea: Tengo un formulario en el que se puede escoger una opción y, a partir de esa selección, creo un formulario que muestra todos los nombres relacionados con la selección, y al frente de cada nombre coloco dos campos: notas y fallas. Eso lo hago con el siguiente código:
Código PHP:
if(isset($_POST['buscar']))
{
$curso=($_POST['curso']);
$l=$db_connect->query("SELECT users.tiu,users.apellidos,users.nombres,anual.tiu,anual.curso FROM users,anual WHERE users.tiu=anual.tiu && anual.curso='$curso' ORDER BY users.apellidos Asc");
echo "<form action=\"inno.php\" method=\"post\">";
echo " <table width=\"600\" border=\"1\" align=\"center\">";
echo " <tr>";
echo " <th scope=\"col\" colspan=\"4\" align=\"center\">Estudiantes del grado ",$curso,"</th>";
echo " </tr>";
echo " <tr>";
echo " <td align=\"center\">Id</td>";
echo " <td align=\"center\">Nombre</td>";
echo " <td align=\"center\">Fallas</td>";
echo " <td align=\"center\">Nota</td>";
echo " </tr>";
$nf=$l->num_rows;
for($i=0;$i<$nf;$i++)
{
$posic=mysqli_data_seek($l,$i);
$fila=$l->fetch_row();
echo " <tr>";
echo " <td>",$fila[0],"</td>";
echo " <td>",$fila[1]," ",$fila[2],"</td>";
echo " <td align=\"center\"><input name=\"falla[]\" type=\"text\" size=\"4\" maxlength=\"4\" /></td>";
echo " <td align=\"center\"><input name=\"nota[]\" type=\"text\" size=\"4\" maxlength=\"4\" /></td>";
echo " </tr>";
}
echo " <th scope=\"col\" colspan=\"4\" align=\"center\"><input type=\"submit\" name=\"suno\" value=\"Subir Notas\"></th>";
echo "</table>";
echo "</form>";
Hasta ahí, sin problemas.
El asunto con el que no he podido es el siguiente: Cuando el usuario presiona el botón "subir notas", pretendo que se ejecute el siguiente código:
Código PHP:
if(isset($_POST['suno']))
{
for($i=0;$i<$nf;$i++)
{
$posic=mysqli_data_seek($l,$i);
$fi=$l->fetch_row();
$nota[$i]=($_POST['nota']);
$fallas[$i]=($_POST['falla']);
$inno=$db_connect->query("INSERT INTO notas (idnot,tiu,doc,fallas,retardos,nota,code1,code2) VALUES (NULL,'$fi[0]',Boggiepopphantom,'$fallas[$i]',0,'$nota[$i]',123,123)");
}
}
http://www.forosdelweb.com/f18/guardar-valor-formulario-arreglo-php-976392/
Sin embargo, no me inserta los valores en la tabla. ¿Podrían por favor indicarme qué estoy haciendo mal?
------------------------------------------------------------------------------------
Intenté también con el siguiente código a ver si daba con el asunto, pero no me funcionó: Creo el formulario dándole nombres a los campos usando el contador del ciclo for
Código PHP:
if(isset($_POST['buscar']))
{
$curso=($_POST['curso']);
$asig=($_POST['asig']);
$bim=($_POST['bim']);
$l=$db_connect->query("SELECT users.tiu,users.apellidos,users.nombres,anual.tiu,anual.curso FROM users,anual WHERE users.tiu=anual.tiu && anual.curso='$curso' ORDER BY users.apellidos Asc");
echo "<form action=\"inno.php\" method=\"post\">";
echo " <table width=\"600\" border=\"1\" align=\"center\">";
echo " <tr>";
echo " <th scope=\"col\" colspan=\"4\" align=\"center\">Estudiantes del grado ",$curso,"</th>";
echo " </tr>";
echo " <tr>";
echo " <td align=\"center\">Id</td>";
echo " <td align=\"center\">Nombre</td>";
echo " <td align=\"center\">Fallas</td>";
echo " <td align=\"center\">Nota</td>";
echo " </tr>";
$nf=$l->num_rows;
for($i=0;$i<$nf;$i++)
{
$posic=mysqli_data_seek($l,$i);
$fila=$l->fetch_row();
echo " <tr>";
echo " <td>",$fila[0],"</td>";
echo " <td>",$fila[1]," ",$fila[2],"</td>";
echo " <td align=\"center\"><input name=\"",$i,"\" type=\"text\" size=\"4\" maxlength=\"4\" /></td>";
echo " <td align=\"center\"><input name=\"",$i+100,"\" type=\"text\" size=\"4\" maxlength=\"4\" /></td>";
echo " </tr>";
}
echo " <th scope=\"col\" colspan=\"4\" align=\"center\"><input type=\"submit\" name=\"suno\" value=\"Subir Notas\"></th>";
echo "</table>";
echo "</form>";
Código PHP:
if(isset($_POST['suno']))
{
for($i=0;$i<$nf;$i++)
{
$posic=mysqli_data_seek($l,$i);
$fi=$l->fetch_row();
$nota[$i]=($_POST[$i]);
$fallas[$i]=($_POST[$i+100]);
$inno=$db_connect->query("INSERT INTO notas (idnot,tiu,doc,fallas,retardos,nota,code1,code2) VALUES (NULL,'$fi[0]',Boggiepopphantom,'$fallas[$i]',0,'$nota[$i]',123,123)");
}
}
De antemano, muchas gracias.