Ver Mensaje Individual
  #2 (permalink)  
Antiguo 11/06/2009, 18:09
Avatar de piojoman
piojoman
 
Fecha de Ingreso: enero-2005
Ubicación: Argentina
Mensajes: 224
Antigüedad: 19 años, 4 meses
Puntos: 3
Respuesta: Problema al guardar por favor ayudenme

La verdad, y con una mano en el corazon te digo que no entendi nada de nada de lo que quieres hacer, me parecio al leer que lo que queres hacer es en una pagina tomar ciertos datos sobre asignaturas de alumnos, su id, notas y otras cosas mas, y que por ejemplo cada alumno tendria mas o menos asignaturas y notas que otro compañero... no es asi??? y que luego tienes otra pagina en la que lees los datos anteriores y lo quieres grabar en una base de datos! eso entendi a duras penas. Si es asi, te digo que por ahi la solucion esta en lo conceptual.

cuando presionamos sobre un boton Submit mandamos a cargar otra pagina, lo cual tenemos que conseguir que ocurra lo menos posible. Por lo que pude ver en tu ejemplo, en tu segunda pagina quieres leer dato a dato separado, en principio seria complicado y tendriamos que cargar una pagina por cada asignatura, te imaginas cargar 100 asignaturas y que cargue la misma cantidad de veces la pagina??..

Yo cargaria todos los datos en tres variables diferentes, una para el ID, otra para las asignaturas (todas juntas) y notas (tambien todas juntas).

EJEMPLO

ID= 12345
Asignatura=Matematica,Literatura,Ingles,Fisica
Nota=8,9,5,6

de esta forma enviamos una sola peticion, despues en la segunda pagina podemos usar la funcion $Asig = explode(",",$_get['Asignatura']); y lo mismo con las notas, entonces tendremos dos Array uno para las asignaturas y otro para las notas y un unico indice sirve para los dos datos.

ahora si necesitariamos un for de $i=0 hasta count($Asig);

y dentro...

Código PHP:

//estas dos lineas van antes del for
$conexion mysql_connect('localhost''root''contraseña de la base de datos');
$base_datos mysql_select_db('Base_de_datos'$conexion);

//estas cuatro lineas son las que van dentro del form
$queTabla "SELECT * FROM Tabla_a_usar ";
$consulta mysql_query($queTabla$conexion) or die(mysql_error()); 
$sSQL="Update TABLA Set $Asig[$i]=$Notas[$i] Where ID=$ID";
mysql_query($sSQL); 
Sinceramente no lo probe porque es medio engorroso, mas cuando estoy programando. Pero en teoria deberia ser algo asi, explicando un poco mejor, el codigo php se conecta a la base de datos y busca (cuando entra en el for) en la Columna ID el ID ingresado en el form, cuando lo ubica busca los otros campos y reemplaza los valores por los que hay en el arreglo Notas!

Última edición por piojoman; 11/06/2009 a las 18:09 Razón: se me pianto en punto y coma