Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/05/2008, 18:01
cristian_fd
 
Fecha de Ingreso: mayo-2008
Mensajes: 3
Antigüedad: 16 años
Puntos: 0
Insert ¿?multiple¿?

Primero que nada felicitar a la gran colaboracion que de alguna y otra manera me ayudo muchisimo. Y decir que no hubiera publicado este mensaje de no ser necesario.
Al lio, llevo ya meses haciendo una pagina en php para mi clase (con notas, calendario, noticias, etc...) el problema esta en las notas, somos 16 alumnos y cada vez que hay un examen tengo que subir las notas a una BD MySql pero de momento lo hago a mano desde PhpMyAdmin porque no encuentro manera de hacerlo con PHP. Mi idea era hacer una tabla con todos los alumnos donde por cada alumno se pone un campo y ahi su nota ( a parte de antes que nada, la fecha y la asignatura, pero solo una vez, no por cada alumno) pero mi profesor de redes me dijo que mejor y menos complicado es hacer con <option> (claro esta que no lo escribo, se hace automatico) pero ahi viene el problema, no se como hacer ahora para subir las notas con un insert, me da error. QUE ROLLO!!! xD
La pregunta del millon, ¿como lo haria con tablas? (es la forma que yo logicamente veo sencilla pero segun mi profesor es chunga de escribir) y la segun pregunta del trillon ¿que le pasa a mi codigo? Adjunto tal codigo:
Código PHP:
<?php
/*
Registro de notas para la web de Paradarum.es de momento no tiene licencia y creo que no la tendra, sera de uso publico ya que
yo me aproveche de otros documentos publicos.
*/
//variable que recibo de registrar_fecha.php y la guardo para utilizarla en cada insert
$fecha=$_POST[fecha];
//conexion a la base de datos
$link mysql_connect("localhost","nombre","pass");
//Selección de la base de datos
mysql_select_db("base_de_datos",$link);
//Sentencia sql para mostrar los nombres y los codigos
$result=mysql_query("SELECT codal,nom,ape1,ape2 FROM alumnos");
//muestro la fecha recibida desde registrar_fecha.php para comprobar que la recibi y para comprobar que esta bien
echo "Has puesto la fecha (mm-dd-aaaa) $fecha";
?>
<form action="registrar_notas.php" method="post">
<select name="registro">
<option> Seleccione </option>
<?php
//Por cada registro encontrado en la tabla me genera un <option>
while ($row mysql_fetch_array($result))
{
$nombre $row["nom"];
$ape1 $row["ape1"];
$ape2 $row["ape2"];
$codal $row["codal"];
?>
<option><?php echo "$ape1 $ape2, $nombre";?></option>
<?php
}
?>
</select>
<input type = text name=<?php echo $codal?>>
<input type=submit name=aceptar>
<?php
if (isset($_POST[aceptar]))
{
$nota=$_POST[$codal];
mysql_query("INSERT INTO notas (fechaex, nota) WHERE codal=$codalVALUES ($fecha, $nota))";
}
?>
Y la version con tablas seria la siguiente, y la pregunta seria, ¿como puedo hacer un insert en el que me escribiera en el sql todas las notas a la vez?
Código PHP:
<form action="reg_tabla.php" method="POST">
<TABLE>
<?php
//conexion a la base de datos
$link mysql_connect("localhost","nombre","pass");
//Selección de la base de datos
mysql_select_db("base_de_datos",$link);
//Sentencia sql para mostrar los nombres y los codigos
$result=mysql_query("SELECT codal,nom,ape1,ape2 FROM alumnos");
while (
$row mysql_fetch_array($result))
{
$nombre $row["nom"];
$ape1 $row["ape1"];
$ape2 $row["ape2"];
$codal $row["codal"];
?>

<tr>
<TD><?php echo "$ape1 $ape2, $nombre";?></TD>
<td><input type="text" name="<?php echo "$codal";?>" size="3"></td>
</tr>
<?php
}
?>
</TABLE>
<input type="submit" name="enviar">
<input type="reset">
</form>
La tabla sql en la que tengo que subir tiene 4 columnas (por orden de izq a derecha): codasig (codigo de la asignatura, si, la tengo con clave primaria, es lo de menos), codal (un numero por cada alumno, por orden de lista), fechaex (la fecha del examen), nota (su nota...), comentario (por si las dudas, pero no lo uso). Espero que esta info sirva para sacarme de este bache. Muchas gracias por vuestra ayuda, casi todos los dias termino por estos lares navegando.

Última edición por cristian_fd; 22/05/2008 a las 18:24