Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] insertar array con foreach

Estas en el tema de insertar array con foreach en el foro de PHP en Foros del Web. hola gente, dado: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original foreach ( range ( $ng , ( $ng + $nf ) ) as $xx ) { ...
  #1 (permalink)  
Antiguo 19/06/2014, 18:29
 
Fecha de Ingreso: septiembre-2012
Ubicación: montevideo
Mensajes: 131
Antigüedad: 11 años, 7 meses
Puntos: 0
insertar array con foreach

hola gente, dado:

Código PHP:
Ver original
  1. foreach (range($ng,($ng+$nf)) as $xx ) {
  2.       $query = "UPDATE datosgpx SET name='$xx' Where name='$nmax'";
  3.       mysql_query($query);
  4.     //  $nmax++;
  5.        echo $xx;
  6. }
alguien me puede ayudar a entender porque en pantalla me muestra la secuencia que necesito(1,2,3,4,5,6,7,8,9,...)
y al hacer el update inserta solo el primer valor?
soy novato y quiero aprender.
  #2 (permalink)  
Antiguo 19/06/2014, 19:25
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: insertar array con foreach

Eso pasa porque en cada iteración, siempre actualizas el valor del campo name para el mismo registro. Ojo, la inserción no es lo mismo que una actualización.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 19/06/2014, 19:32
 
Fecha de Ingreso: septiembre-2012
Ubicación: montevideo
Mensajes: 131
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: insertar array con foreach

o sea que no se genera una consulta por fila sino una por cada xx de toda la columna no?, alguna idea de como corregirlo?
  #4 (permalink)  
Antiguo 19/06/2014, 19:57
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: insertar array con foreach

Primero, ¿qué es lo que pretendes hacer? Porque lo que muestras en realidad no tiene mucho sentido que digamos.
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #5 (permalink)  
Antiguo 19/06/2014, 21:00
 
Fecha de Ingreso: septiembre-2012
Ubicación: montevideo
Mensajes: 131
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: insertar array con foreach

trato de insertar en una tabla mysql una serie de registros numericos (1,2,3,...) en un campo que no es PK ni AI porque hay otro en la tabla que lo es y no lo puedo cambiar por diseño,
necesito generar esos registros mediante php y actualizar la columna, algo que no he podido por el momento.
  #6 (permalink)  
Antiguo 19/06/2014, 21:47
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: insertar array con foreach

Entiendo, pero lo que haces ahí es actualizar datos, no insertarlos. La sintaxis de inserción es así:

Código MySQL:
Ver original
  1. INSERT INTO tabla (campo) VALUES (valor) WHERE condición

La que usas en el código que muestras sirve para actualizar datos, no para insertarlo. Haz el cambio y prueba.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #7 (permalink)  
Antiguo 20/06/2014, 05:18
 
Fecha de Ingreso: septiembre-2012
Ubicación: montevideo
Mensajes: 131
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: insertar array con foreach

ya lo hice sin resultados
  #8 (permalink)  
Antiguo 20/06/2014, 10:00
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: insertar array con foreach

Muéstranos el código actualizado para ver el error que debes estar cometiendo.
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #9 (permalink)  
Antiguo 20/06/2014, 13:45
 
Fecha de Ingreso: septiembre-2012
Ubicación: montevideo
Mensajes: 131
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: insertar array con foreach

hice un cambio radical, y obtuve otro problema qque supongo es mas facil de resolver, lo voy a abrir como otro tema y cierro este, mucha gracias

Etiquetas: foreach, mysql
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 10:20.