Foros del Web » Programando para Internet » PHP »

Hacer un INSERT dentro de un bucle?

Estas en el tema de Hacer un INSERT dentro de un bucle? en el foro de PHP en Foros del Web. Buenas, en mi código tengo declarado un array $vecDescripcio, luego para cada idioma creo el indice $i que lo que hace es en cada iteración ...
  #1 (permalink)  
Antiguo 15/10/2010, 10:43
 
Fecha de Ingreso: enero-2005
Mensajes: 170
Antigüedad: 19 años, 3 meses
Puntos: 0
Hacer un INSERT dentro de un bucle?

Buenas,

en mi código tengo declarado un array $vecDescripcio, luego para cada idioma creo el indice $i que lo que hace es en cada iteración poner el contenido de un campo de texto, diferente para cada idioma.

Código PHP:
Ver original
  1. $vecDescripcio = array()
  2. for ($i = 0; $i < count($idiomes); $i++){
  3. $vecDescripcio[$i] = str_replace("'","`",$_POST["TNAYdescripcio".$idiomes[$i]]);
  4. }
Bien, ahora tengo el array $vecDescripcio[$i], donde cada $i es el contenido del textbox correspondiente.

Mi idea es hacer un INSERT dentro de un bucle para cada $vecDescripcio[$i]. Se puede hacer?¿

Para cada idioma se hará el INSERT en su campo correspondiente (cs_descripcio, ct_descripcio, eng_descripcio), siendo cs=castellano, ct=catalan, etc...

Código PHP:
Ver original
  1. for ($i = 0; $i < count($idiomes); $i++){
  2. $sql = "INSERT INTO partseccio ($array2[$idiomes[$i]."_descripcio"]) VALUES ('".$_POST["TNAYdescripcio".$idiomes[$i]]."')";
  3. }

El problema es que esto hará un INSERT para cada idioma, el primero lo hará bien, pero el segundo creará otro registro en la BD, y todo tiene que quedar en el mismo!!


Perdon por el rollo, lo he intentado explicar lo mejor posible!

Última edición por albertpg; 15/10/2010 a las 10:50
  #2 (permalink)  
Antiguo 15/10/2010, 11:00
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Hacer un INSERT dentro de un bucle?

Cita:
Iniciado por albertpg Ver Mensaje
El problema es que esto hará un INSERT para cada idioma, el primero lo hará bien, pero el segundo creará otro registro en la BD, y todo tiene que quedar en el mismo!!
¿como esta tu uso de razón?

vamos, que cualquier INSERT crea un nuevo registro... y bueno, si a partir de un primer registro los demás deben quedar ahí mismo sería entonces un UPDATE, pues debes actualizar datos del registro anterior y no crear uno nuevo...

¿cierto?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 15/10/2010, 11:01
Avatar de CazaresLuis  
Fecha de Ingreso: septiembre-2010
Ubicación: Distrito Federal
Mensajes: 67
Antigüedad: 13 años, 7 meses
Puntos: 2
Información Respuesta: Hacer un INSERT dentro de un bucle?

Cita:
Iniciado por albertpg Ver Mensaje
Buenas,

en mi código tengo declarado un array $vecDescripcio, luego para cada idioma creo el indice $i que lo que hace es en cada iteración poner el contenido de un campo de texto, diferente para cada idioma.

Código PHP:
Ver original
  1. $vecDescripcio = array()
  2. for ($i = 0; $i < count($idiomes); $i++){
  3. $vecDescripcio[$i] = str_replace("'","`",$_POST["TNAYdescripcio".$idiomes[$i]]);
  4. }
Bien, ahora tengo el array $vecDescripcio[$i], donde cada $i es el contenido del textbox correspondiente.

Mi idea es hacer un INSERT dentro de un bucle para cada $vecDescripcio[$i]. Se puede hacer?¿

Para cada idioma se hará el INSERT en su campo correspondiente (cs_descripcio, ct_descripcio, eng_descripcio), siendo cs=castellano, ct=catalan, etc...

Código PHP:
Ver original
  1. for ($i = 0; $i < count($idiomes); $i++){
  2. $sql = "INSERT INTO partseccio ($array2[$idiomes[$i]."_descripcio"]) VALUES ('".$_POST["TNAYdescripcio".$idiomes[$i]]."')";
  3. }

El problema es que esto hará un INSERT para cada idioma, el primero lo hará bien, pero el segundo creará otro registro en la BD, y todo tiene que quedar en el mismo!!


Perdon por el rollo, lo he intentado explicar lo mejor posible!
A primera vista lo que quieres hacer es que sea en un solo registro, aqui hay de dos o que crees un campo donde metas toda esa información delimitada por algun caracter o la otra es que crees campo por idioma y ahi guardes su correspondiente información.

Saludos
  #4 (permalink)  
Antiguo 15/10/2010, 11:02
 
Fecha de Ingreso: enero-2005
Mensajes: 170
Antigüedad: 19 años, 3 meses
Puntos: 0
Respuesta: Hacer un INSERT dentro de un bucle?

Pues mi uso de razón a 5 minutos de salir del trabajo, tras 9 horas y siendo viernes... no muy bien la verdad :P.

Entonces claro, lo priemro seria hacer un insert y luego $i updates no?

Etiquetas: bucle, insert
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:37.