Foros del Web » Programando para Internet » PHP »

Grabar Registros

Estas en el tema de Grabar Registros en el foro de PHP en Foros del Web. hola buenas tardes. En mi pagina php, al cargarse trae desde la BD mysql una lista de alumnos.(Nombre, Apellidos :: tabla Alumnos::) Estos alumnos se ...
  #1 (permalink)  
Antiguo 13/01/2010, 15:22
 
Fecha de Ingreso: diciembre-2001
Ubicación: Peru
Mensajes: 376
Antigüedad: 22 años, 11 meses
Puntos: 0
Grabar Registros

hola buenas tardes.
En mi pagina php, al cargarse trae desde la BD mysql una lista de alumnos.(Nombre, Apellidos :: tabla Alumnos::)
Estos alumnos se llenan en una tabla.

La tabla tiene una columna al final de cada alumno la cual es Asistencia.
Mi problema es el siguiente.

En esa lista quiero poner check a quienes asistieron a clase y luego dar grabar.

Esta grabacion va directamente a una tabla llamada ::Asistencia::, alli guarda el nombre, apellidos y obviamente Asistencia (boolean).

Mi idea es grabar a todos los alumnos su asistencia, sin tener que estar grabando uno a uno.

Gracias
  #2 (permalink)  
Antiguo 13/01/2010, 15:40
(Desactivado)
 
Fecha de Ingreso: abril-2008
Mensajes: 787
Antigüedad: 16 años, 7 meses
Puntos: 7
Respuesta: Grabar Registros

puedes utlinzar un foreach o un for para que puedar enviar los nombres de los checks.

Código PHP:
Ver original
  1. <?php
  2. $sql_alumnos = "SELECT * FROM alumnos";
  3. $rpta_alumnos = mysql_query($sql_alumnos) or die(mysql_error());
  4. $i = 0;
  5.  
  6. while($row_alumnos = mysql_fetch_array($rpta_alumnos)){
  7. echo "<input name='asistencia[$i]' type='checkbox' class='objetoformulario' id='capacidad' value='$row_alumnos[asistencia]' />";
  8. echo "<br/>";
  9. }
  10. echo "<input type='hidden' name='chk' value='$i'>";
  11.  
  12. ?>

el bucle for para que haga el insert.

Código PHP:
Ver original
  1. for ($a = 0; $a < $_POST['chk']; $a++ ){ #inicia el bucle.
  2.                    
  3. $asistencia = $_POST["asistencia"][$a];
  4.              
  5. $sql_asistencia_alumnos  = "insert into asistencia_alumnos(asistencia)";
  6. $sql_capacidad_alumnos .= "values('$asistencia')";
  7. mysql_query($sql_capacidad_alumnos) or die(mysql_error());
  8.                            
  9. } # termina el bucle for.

saludos.
  #3 (permalink)  
Antiguo 13/01/2010, 16:15
 
Fecha de Ingreso: diciembre-2001
Ubicación: Peru
Mensajes: 376
Antigüedad: 22 años, 11 meses
Puntos: 0
Lo voy a probar y te aviso!!!
GRACIAS!!

Tengo un problema, como hago para llamar a la grabacion?
Si la funcion esta en la misma pagina como hago para llamarla??
Gracias!!!

Última edición por GatorV; 13/01/2010 a las 18:31
  #4 (permalink)  
Antiguo 13/01/2010, 18:24
(Desactivado)
 
Fecha de Ingreso: abril-2008
Mensajes: 787
Antigüedad: 16 años, 7 meses
Puntos: 7
Respuesta: Grabar Registros

bueno. en este caso primero creas un archivo que haga el bucle de los checkbox y otro archivo procesar.php.

alli colocas el codigo que hara el insert con el bucle for.

Código PHP:
Ver original
  1. for ($a = 0; $a < $_POST['chk']; $a++ ){ #inicia el bucle.
  2.                    
  3.    $asistencia = $_POST["asistencia"][$a];
  4.              
  5.    $sql_asistencia_alumnos  = "insert into asistencia_alumnos(asistencia)";
  6.    $sql_asistencia_alumnos .= "values('$asistencia')";
  7.    mysql_query($sql_capacidad_alumnos) or die(mysql_error());
  8.                            
  9. } # termina el bucle for.

saludos.

Última edición por esaenz22; 13/01/2010 a las 18:24 Razón: correccion.
  #5 (permalink)  
Antiguo 14/01/2010, 08:51
 
Fecha de Ingreso: diciembre-2001
Ubicación: Peru
Mensajes: 376
Antigüedad: 22 años, 11 meses
Puntos: 0
Respuesta: Grabar Registros

Hola, el codigo no me esta funcionando, y es que cuando hago
un echo al $_POST['chk'];
este trae 0, por ende no entra el bucle de grabar.


Me puedes ayudar en esto?

Muchisimas gracias!!!
  #6 (permalink)  
Antiguo 14/01/2010, 09:24
(Desactivado)
 
Fecha de Ingreso: abril-2008
Mensajes: 787
Antigüedad: 16 años, 7 meses
Puntos: 7
Respuesta: Grabar Registros

haber. creo que deberia ser de esa manera.

Código PHP:
Ver original
  1. <?php
  2. $sql_alumnos = "SELECT * FROM alumnos";
  3. $rpta_alumnos = mysql_query($sql_alumnos) or die(mysql_error());
  4. $i = 0;
  5.  
  6. while($row_alumnos = mysql_fetch_array($rpta_alumnos)){
  7. echo "<input name=\"asistencia[$i]\" type=\"checkbox\" id=\"asistencia\" value=".$row_alumnos['asistencia']." />";
  8. echo "<br/>";
  9. $i++;
  10. }
  11.          
  12. echo "<input type=\"hidden\" name=\"chk\" value=".$i.">";
  13.  
  14. ?>

procesar registro.

Código PHP:
Ver original
  1. for ($a = 0; $a < $_POST['chk']; $a++ ){ #inicia el bucle.
  2.                    
  3.    $asistencia = $_POST["asistencia"][$a];
  4.              
  5.    $sql_asistencia_alumnos  = "insert into asistencia_alumnos(asistencia)";
  6.    $sql_asistencia_alumnos .= "values('$asistencia')";
  7.    mysql_query($sql_asistencia_alumnos) or die(mysql_error());
  8.                            
  9. } # termina el bucle for.

saludos.

Última edición por esaenz22; 14/01/2010 a las 09:26 Razón: correccion.

Etiquetas: grabar, registros
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 12:08.