Foros del Web » Programando para Internet » PHP »

Actualizar Varios Registros a La vez

Estas en el tema de Actualizar Varios Registros a La vez en el foro de PHP en Foros del Web. Hola Comunidad. Mi Pregunta es como actualizo varios registro de un a tabla en mysql al mismo tiempo. tengo una tabla llamada alumnos y muestro ...
  #1 (permalink)  
Antiguo 04/02/2013, 20:28
Avatar de tesla07  
Fecha de Ingreso: enero-2013
Mensajes: 42
Antigüedad: 6 años, 7 meses
Puntos: 0
Exclamación Actualizar Varios Registros a La vez

Hola Comunidad.

Mi Pregunta es como actualizo varios registro de un a tabla en mysql al mismo tiempo.

tengo una tabla llamada alumnos y muestro los alumnos en una tabla dinamica, lo que yo quiero es porder actualizar las notas de varios o todos los alumnos al mismo tiempo en la misma tabla dinamica.

De antemano Gracias
__________________
Nuestros sentidos nos permiten percibir sólo una pequeña porción del mundo exterior.
  #2 (permalink)  
Antiguo 04/02/2013, 20:33
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 8 años, 7 meses
Puntos: 209
Respuesta: Actualizar Varios Registros a La vez

eso dependerá del where que le pases al update
__________________
aconcaguaestudio.com
  #3 (permalink)  
Antiguo 04/02/2013, 20:35
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 3 meses
Puntos: 2135
Respuesta: Actualizar Varios Registros a La vez

Lo mejor en estos casos es que hagas distintos UPDATEs uno por cada alumno que quieras actualizar así puedes actualizar fila por fila.

Saludos.
  #4 (permalink)  
Antiguo 06/03/2013, 10:44
Avatar de tesla07  
Fecha de Ingreso: enero-2013
Mensajes: 42
Antigüedad: 6 años, 7 meses
Puntos: 0
Exclamación Respuesta: Actualizar Varios Registros a La vez

Cita:
Iniciado por GatorV Ver Mensaje
Lo mejor en estos casos es que hagas distintos UPDATEs uno por cada alumno que quieras actualizar así puedes actualizar fila por fila.

Saludos.
Si Pero lo que pasa es que como muestro los datos en una tabla dinamica nunca sabre cuantos alumnos en total tendre asi que me gustaria saber si existe alguna funcion que guarde los datos actualizados en cada registro del alumno
__________________
Nuestros sentidos nos permiten percibir sólo una pequeña porción del mundo exterior.
  #5 (permalink)  
Antiguo 06/03/2013, 13:07
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 3 meses
Puntos: 2135
Respuesta: Actualizar Varios Registros a La vez

Eso es independiente, si usas arreglos, puedes recorrerlos aunque no sepas la cantidad, puedes usar un for() o un foreach() para eso.

No existen funciones que hagan lo que quieres, más cuando es algo que se tiene que adaptar a tu tabla exactamente, y tienes que pensar que cada fila de tu tabla, es una fila en la base de datos, por lo que es forzoso que construyas de forma dinámica cada UPDATE de forma independiente.

Saludos.
  #6 (permalink)  
Antiguo 06/03/2013, 15:32
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 8 años, 4 meses
Puntos: 76
Respuesta: Actualizar Varios Registros a La vez

hola

podria ser asi:

formulario.php

Código HTML:
Ver original
  1. <form action="actualizar_registros.php" name="modificacion" method="post">
  2. <table width="49%" border="1" align="center" rules="rows">
  3. <tr>
  4. <th width="51%" height="34" align="center" style="font:Verdana, Geneva, sans-serif; font-size:12px">Nombres</th>
  5. <th width="49%" align="center" style="font:Verdana, Geneva, sans-serif; font-size:12px">Departamento</th>
  6. </tr>
  7. <tr>
  8. <?php
  9. while($registro = mysql_fetch_array($consulta, MYSQL_ASSOC))
  10. { ?>
  11.     <td height="35" align="center">
  12.     <input type="text" value="<?php echo $registro['nombres']?>" name="nombres[]">
  13.     </td>
  14.     <td align="center">
  15.     <input type="text" value="<?php echo $registro['departamento']?>" name="departamento[]" class="letrapequeña" >
  16.     </td>
  17.   </tr>
  18.  <input type="hidden" value="<?php echo $registro['idempleado']?>" name="idempleado[]">
  19.   <?php
  20.  }
  21. ?>

simplemente listas los usuarios con sus respectivos valores

al enviar el form a

actualizar_registros.php

Código PHP:
Ver original
  1. for ($i = 0; $i < count($_POST['nombres']); $i++)
  2. {
  3.     $update = mysql_query ("UPDATE empleado  SET nombres='{$_POST['nombres'][$i]}',
  4.                                                 departamento='{$_POST['departamento'][$i]}'
  5.                                                 WHERE idempleado='{$_POST['idempleado'][$i]}'",$conex)
  6.                                                  or die ('Problemas con el query'.mysql_error());
  7.  
  8.    echo $update."<br/>";
  9. }

y Listo.....
  #7 (permalink)  
Antiguo 18/03/2014, 16:36
 
Fecha de Ingreso: marzo-2014
Mensajes: 1
Antigüedad: 5 años, 5 meses
Puntos: 0
Respuesta: Actualizar Varios Registros a La vez

Aunque el post es un poco viejo respondo porque a mi me costo bastante encontrar como hacerlo y por ahi a alguien mas le sirve

La forma mas sencilla para actualizar varios registros con una sola consulta:

UPDATE test
SET col2 = CASE col1
WHEN 'test1' THEN 1
WHEN 'test2' THEN 3
WHEN 'test3' THEN 5
END,
colx = CASE col1
WHEN 'test1' THEN 'xx'
WHEN 'test2' THEN 'yy'
WHEN 'test3' THEN 'zz'
END
WHERE col1 IN ('test1','test2','test3')

Etiquetas: consultas+mysql, dinamicas, tablas
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

SíEste tema le ha gustado a 2 personas




La zona horaria es GMT -6. Ahora son las 12:59.