Foros del Web » Programando para Internet » PHP »

Actualziar una tabla con foreach

Estas en el tema de Actualziar una tabla con foreach en el foro de PHP en Foros del Web. Buenas tardes; Estoy intentando actualizar unos datos de una tabla con la funciona foreach. El problema es que no me funiona y no se donde ...
  #1 (permalink)  
Antiguo 09/05/2012, 16:20
 
Fecha de Ingreso: febrero-2008
Mensajes: 675
Antigüedad: 16 años, 2 meses
Puntos: 5
Actualziar una tabla con foreach

Buenas tardes;
Estoy intentando actualizar unos datos de una tabla con la funciona foreach.
El problema es que no me funiona y no se donde puede estar el problema.

desde una consulta saco 10 registros y en el form tengo el campo
Código PHP:
<input name="usuario[]" type="hidden"  value="<?php echo $row_ver['id_salon']; ?>" />
En la parte del foreach tengo esto

Código PHP:
    $valor=$_POST['usuario'];
    foreach(
$_POST['usuario'] as $key => $valor) {
        
  
$updateSQL sprintf("UPDATE incidencias SET resuelta=%s WHERE id_incidencias=%s",
                       
GetSQLValueString($_POST['sn'], "text"),
                       
GetSQLValueString($valor"text")); 
Si intento cambiar el dato de la fila 5, no hace nada. Si intento cambiar el dato de la fila 10 (el último) me cambia todas las filas con el valor de la fila 10.

Gracias
  #2 (permalink)  
Antiguo 09/05/2012, 16:30
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Actualziar una tabla con foreach

Sería interesante que imprimieras la consulta antes de ejecutarla y analizar una a una.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 09/05/2012, 16:35
 
Fecha de Ingreso: febrero-2008
Mensajes: 675
Antigüedad: 16 años, 2 meses
Puntos: 5
Respuesta: Actualziar una tabla con foreach

No entiendo que quieres decir con lo de imprimir.
Si es saber el valor de $valor me da el número de la última fila.

Si no es así como se hace, aceptaría cualquier solución.
  #4 (permalink)  
Antiguo 09/05/2012, 16:37
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Actualziar una tabla con foreach

¿No entiendes que es imprimir?
Código PHP:
$updateSQL sprintf("UPDATE incidencias SET resuelta=%s WHERE id_incidencias=%s",
                       
GetSQLValueString($_POST['sn'], "text"),
                       
GetSQLValueString($valor"text"));  

echo 
"<pre>$updateSQL</pre>"
Evidentemente sería bueno saber como están formadas las consultas.

Aunque puede que el problema venga de otro lado, ¿cuando revisas el código HTML generado de tu formulario salen bien los inputs cada uno con un valor diferente?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 09/05/2012, 16:48
 
Fecha de Ingreso: febrero-2008
Mensajes: 675
Antigüedad: 16 años, 2 meses
Puntos: 5
Respuesta: Actualziar una tabla con foreach

esto es lo que me imprime
UPDATE MOLINAR SET cantidad='30' WHERE id_salon=61

Las consultas estan nien, dado que me dan los datos correctos

<form id="form2" name="form2" method="POST" action="<?php echo $editFormAction; ?>">
<?php do {
?><table width="100%" border="0">
<tr>
<td><input name="unidades" type="text" value="<?php echo $row_ver['cantidad']; ?>" size="3" />
<?php echo $row_ver['articulo']; ?>
<input name="usuario[]" type="hidden" value="<?php echo $row_ver['id_salon']; ?>" />
<input type="hidden" name="MM_update" value="form2" />
</td>
</tr>
</table><?php } while ($row_ver = mysql_fetch_assoc($ver)); ?>
<input type="submit" name="button" id="button" value="Actualizar" />
</form>

Última edición por visona; 09/05/2012 a las 17:05
  #6 (permalink)  
Antiguo 09/05/2012, 17:27
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Actualziar una tabla con foreach

Cuando recibas el formulario intenta esto y muestra el resultado aquí:
Código PHP:
var_dump($_POST['usuario']); 
¿Que resulta?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 10/05/2012, 03:02
 
Fecha de Ingreso: febrero-2008
Mensajes: 675
Antigüedad: 16 años, 2 meses
Puntos: 5
Respuesta: Actualziar una tabla con foreach

esto es lo que me sale

array(3) { [0]=> string(2) "30" [1]=> string(2) "31" [2]=> string(2) "61" }
  #8 (permalink)  
Antiguo 10/05/2012, 08:48
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Actualziar una tabla con foreach

Bien, entonces no deberías tener problemas ya que el arreglo está bien y el bucle parece el correcto.

Sin embargo ahora me entra la duda de, ¿exactamente como estás ejecutando las consultas?

Deberías mostrar el código completo del bucle con el que actualizas los datos.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: foreach, registro, sql, tabla, usuarios
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 15:36.