Foros del Web » Programando para Internet » PHP »

Ayuda para recibir multiples registros y hacer update

Estas en el tema de Ayuda para recibir multiples registros y hacer update en el foro de PHP en Foros del Web. Hola, soy nuevo en todo esto, actualmente estoy haciendo un programa para transcribir notas, el problema es que no se como al enviar el formulario ...
  #1 (permalink)  
Antiguo 02/09/2009, 17:44
 
Fecha de Ingreso: septiembre-2009
Mensajes: 2
Antigüedad: 14 años, 6 meses
Puntos: 0
Pregunta Ayuda para recibir multiples registros y hacer update

Hola, soy nuevo en todo esto, actualmente estoy haciendo un programa para transcribir notas, el problema es que no se como al enviar el formulario recibir todos los datos (generalmente son 35 por seccion), y grabar solo la nota transcrita de acuerdo a cada cedula, el codigo que tengo es:

<form action="guardarcalificacionfinal.php" method="post" name="matricula">
<table width="542" border="2" align="left" bordercolor="#6699FF">
<tr>
<th width="91" scope="col"><span class="Estilo7">C&eacute;dula</span></th>
<th width="167" scope="col"><span class="Estilo7">Nombre</span></th>
<th width="167" scope="col"><span class="Estilo7"> Apellido </span></th>
<th width="87" class="Estilo6" scope="col">Nota Sobre 100 Ptos. </th>
</tr>
<?php
if (isset($_POST['menu1']))
{
while ($filas=mysql_fetch_array($consulta2))
{
echo'<tr><td>'.$filas["cedula_e"].'</td>';
echo'<td>'.$filas["primer_nombre"].'</td>';
echo'<td>'.$filas["primer_apellido"].'</td>';
echo '<td><input name="textfield" type="text" value="" /></td>';
echo '</select></tr>';
}
}
?>
</table>
<p>
<input type="submit" name="Submit2" value="GUARDAR" />
hasta alli todo me funciona bien, se puede escribir la nota, pero no tengo la menor idea como recibir los datos en guardarcalificacionfinal.php.
Gracias por la ayuda que me puedan dar.
  #2 (permalink)  
Antiguo 02/09/2009, 18:34
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 1 mes
Puntos: 25
Respuesta: Ayuda para recibir multiples registros y hacer update

pues debes poner los inputs que determinen que envias por qué no los veo.
__________________
Hospedaje Web al mejor costo!
  #3 (permalink)  
Antiguo 02/09/2009, 18:51
Avatar de eddwinpaz  
Fecha de Ingreso: noviembre-2007
Ubicación: Merida , Venezuela
Mensajes: 1.066
Antigüedad: 16 años, 4 meses
Puntos: 25
Respuesta: Ayuda para recibir multiples registros y hacer update

Bueno hay los insertas para ello debes trabajar con Arrays en HTML por ende debes usar un constructor llamado foreach() veamos paso a paso como construir dicho script adaptado a tu aplicacion.

Código PHP:

   <?php  if(isset($_POST['cedula'])){

      foreach(
$_POST['cedula']  as $valor){
               
         
$sql "INSERT INTO tabla 'cedula' VALUES ($valor);";
         if(
mysql_query($sql)){ 
   
 
/* elimina esta condicion es solo para probar que las consultas hayan sido satisfactorias*/

           
echo 'Consulta hecha';
     }  
   else {
         echo 
'Fallo consulta';
  }

                 
     

     }

}
Lo que hacemos es lo siguiente..

recibimos los input de x formulario enviado por metodo post.
usamos del constructor foreach para iterar cada elemento enviado desde el array "Vector" HTML.
posterior a ello generamos una consulta para cada vuelta que demos y hacemos la consulta a la base de datos mysql.

preguntas o dudas ?

Necesito saber el total de elementos que le voy a pasar al constructor foreach ?
NO, El solito se encarga de hacer eso.

puedo usar el ciclo For en vez de foreach ?
Si.

saludos espero que te funcione eso.. exitos
__________________
O nos hacemos miserables o nos hacemos fuertes , la cantidad de trabajo es la misma.
  #4 (permalink)  
Antiguo 02/09/2009, 19:08
 
Fecha de Ingreso: abril-2009
Ubicación: Miami
Mensajes: 182
Antigüedad: 14 años, 11 meses
Puntos: 8
Respuesta: Ayuda para recibir multiples registros y hacer update

hola fgperez...

en tu página que hace el INSERT debe capturar primero los campos que desees actualizar o insertar, en tu caso usa el método POST que es el que usa el FORM por defecto. Yo te acosejo que hagas un ARRAY con cedula y nota dentro de tu WHILE, para eso deberías cambiar un poco tu FORM, algo así como:


<input name="nota[]" type="text" value="" /> //en nota[] se irán guardando los valores de esta forma nota[1] = 100, nota[2]=95 ....

y dentro del WHILE también debe haber una línea como esta:

<input name="cedula[]" type="hidden"value="<?php echo $filas["cedula_e"];?>" /> //acá la misma cosa, pero vas recogiendo para cada cedula[] una nota correspondiente, con el valor de la nota[] para cada estudiante


AHORA BIEN, para recoger estos ARRAY deberás usar: foreach, pero no se si estás queriendo actualizar alguna tabla o insertar datos en una tabla nueva, ya dependerá de tu caso, pero dentro del foreach deberás ir actualizando o insertando según tu caso .. dale una mirada a foreach para adaptarlo a tu caso ... espero te sirva .. salu2!!
  #5 (permalink)  
Antiguo 02/09/2009, 19:48
 
Fecha de Ingreso: septiembre-2009
Mensajes: 2
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Ayuda para recibir multiples registros y hacer update

Muchas Gracias por su ayuda, me pongo a trabajar a ver si resuelvo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:33.