Foros del Web » Programando para Internet » PHP »

Actualizar registros multiples

Estas en el tema de Actualizar registros multiples en el foro de PHP en Foros del Web. hola amigos aqui molestando otra vez resulta q quiero actualizar varios reistros a la vez ...(para insertar calificaciones) tengo esto q me funciona perfecto para ...
  #1 (permalink)  
Antiguo 20/07/2011, 16:33
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
Actualizar registros multiples

hola amigos aqui molestando otra vez resulta q quiero actualizar varios reistros a la vez ...(para insertar calificaciones) tengo esto q me funciona perfecto para insertar obvio con INSERT pero al actualizar solo me actualiza el 1er. registro mi codigo es

Código:
foreach($_POST["clave3"] as $key => $value){
  $updateSQL = sprintf("UPDATE calificar SET   rfcalumno=%s,  parcial1=%s,parcial2=%s,parcial3=%s,promedio=%s WHERE claveasignatura=%s",
                
                       GetSQLValueString($_POST['clave3'][$key],  "text"),  
				       GetSQLValueString($_POST['p1'][$key],  "text"),
                       GetSQLValueString($_POST['p2'][$key], "text"),
					   GetSQLValueString($_POST['p3'][$key],  "text"),
					   GetSQLValueString($_POST['prom'][$key],  "text"),
                  	   GetSQLValueString($_POST['claveasignatura'], "text"));
					   
  mysql_select_db($database_connection, $connection);
  $Result1 = mysql_query($updateSQL, $connection) or die(mysql_error());


esto es mi formulario q se repite
Código HTML:
<form action="<?php echo $editFormAction; ?>" method="post" id="form1">
  <table border="0" class="normal">

  <thead>
    <tr>
         <td></td>
          <td>rfc</td>
      <td>nombre</td>
      <td>apellido paterno</td>
      <td>apellido Materno</td>
      <td>Parcial 1</td>
            <td>Parcial 2</td>

    </tr>
  </thead>
  <?php do { ?>
  <tbody>
    <tr>  
  
    <td><?php  $i+=1; echo $i;?></td>
      <td ><input type="text" name="clave3[]" id="clave3" value="<? echo $row_alumnos2['rfcalumno']; ?>" size="20" style="border: none; "/></td>
      <td><? echo $row_alumnos2['Nombre']; ?></td>
      <td><?php echo $row_alumnos2['ApellidoPaterno']; ?></td>
      <td><?php echo $row_alumnos2['ApellidoMaterno']; ?></td>
      <td><input   type="text"  name="p1[]" id="p1" value="<?php echo $row_alumnos2['parcial1']; ?>"  size="3" style="border: none;" /> </td>
        <td><input type="text" name="p2[]" id="p2" value=""  size="3" style="border: none;" /> </td>
     <input type="hidden" name="p3[]" id="p3" value=""  size="3" style="border: none;" />
    <input type="hidden" name="prom[]" id="prom" value="<?php ?>"   size="3" style="border: none;" />
</td>
   
    </tr>
  </tbody>
     <?php } while ($row_alumnos2 = mysql_fetch_assoc($alumnos2)); ?>
</table>

    <p> 
  #2 (permalink)  
Antiguo 21/07/2011, 04:02
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: Actualizar registros multiples

Qué quieres decir con que se repite? Dónde está el tag de cierre del </form>?

De todas formas, creo que tu error principal es que mandas la mitad de inputs sin valor:
<td><input type="text" name="p2[]" id="p2" value="" size="3" style="border: none;" /> </td>
<input type="hidden" name="p3[]" id="p3" value="" size="3" style="border: none;" />
<input type="hidden" name="prom[]" id="prom" value="<?php ?>" size="3" style="border: none;" />

Pero luego los usas para montar el SQL.

Espero que te sirva, yo le pegaría un repaso al código, porque está cogido por los pelos. Un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #3 (permalink)  
Antiguo 21/07/2011, 09:22
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
Respuesta: Actualizar registros multiples

Cita:
Iniciado por vgonga1986 Ver Mensaje
Qué quieres decir con que se repite? Dónde está el tag de cierre del </form>?

De todas formas, creo que tu error principal es que mandas la mitad de inputs sin valor:
<td><input type="text" name="p2[]" id="p2" value="" size="3" style="border: none;" /> </td>
<input type="hidden" name="p3[]" id="p3" value="" size="3" style="border: none;" />
<input type="hidden" name="prom[]" id="prom" value="<?php ?>" size="3" style="border: none;" />

Pero luego los usas para montar el SQL.

Espero que te sirva, yo le pegaría un repaso al código, porque está cogido por los pelos. Un saludo.
Hola gracias por tu respuesta pero no creo q ese sea el problema ya que mi tabla me permite tener valores multiples...
hago esta mira en el primer parcial capturo solo este los demas campos van vacios, en el segundo parcial muestro el valor del primero y debo insertar el segundo.... si lo hace pero solo me modifica un registro
  #4 (permalink)  
Antiguo 21/07/2011, 13:11
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
Respuesta: Actualizar registros multiples

Muchas gracias lo eh resuelto

Etiquetas: multiples, mysql, registro, registros, sql, formulario
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 20:27.