Foros del Web » Programando para Internet » PHP »

Insertar valor en campos creados dinámicamente en una base datos

Estas en el tema de Insertar valor en campos creados dinámicamente en una base datos en el foro de PHP en Foros del Web. Buenas mi pregunta es la siguiente: Yo tengo una base de datos y se va añadiendo campos dinámicos según se manden por el formulario unos ...
  #1 (permalink)  
Antiguo 24/05/2008, 15:28
 
Fecha de Ingreso: febrero-2008
Mensajes: 76
Antigüedad: 16 años, 1 mes
Puntos: 0
Insertar valor en campos creados dinámicamente en una base datos

Buenas mi pregunta es la siguiente:

Yo tengo una base de datos y se va añadiendo campos dinámicos según se manden por el formulario unos campos u otros.

Hasta ahi sin problemas, pero cuando quiero insertar en esos campos los valores que me pasan por el formulario me crea una nueva fila por cada campo, en vez de insertarme en la misma fila el valor de todos los campos.

Por ejemplo creo dinámicamente el campo nombre2 y nombre3 y yo quiero que me inserte el valor de nombre2 y nombre3 en la misma fila, pero me crea una fila insertando el valor en nombre2 y otra fila insertando en nombre3.

Aqui os pongo el código por si os ayuda.

Muchas gracias

Código:
for($i = 0; $i<$campos; $i++){ //$campos es el nº de campos dinámicos
$a = $i +1;
$in = $i+2;


mysql_query ("ALTER TABLE `autor` ADD `nombre{$in}` VARCHAR( 20 ) NOT NULL");

$nombre = $_POST['nombre'.$a];

$nom = "nombre".$in;



mysql_query("INSERT INTO autor ($nom) 
		VALUES ('{$nombre}')",$enlace);
}
  #2 (permalink)  
Antiguo 24/05/2008, 16:02
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Insertar valor en campos creados dinámicamente en una base datos

Hola todoscogidos,

Empezando por el problema grande de que no tengas bien diseñada tu base de datos, el problema de que se insertan en nuevas filas es porque estas usando una consulta INSERT, cuando debes de usar una consulta UPDATE.

Saludos.
  #3 (permalink)  
Antiguo 24/05/2008, 17:06
 
Fecha de Ingreso: junio-2007
Ubicación: por ahi
Mensajes: 262
Antigüedad: 16 años, 9 meses
Puntos: 4
Respuesta: Insertar valor en campos creados dinámicamente en una base datos

Lo que dice Gator es cierto, pero si lo que quieres no es hacer una actualizacion , sino una insercion, debes simplemente sacar la instruccion de INSERT del ciclo, formarla con todos los campos y hacerla solo una vez.
__________________
Hernando Saenz Sanchez
  #4 (permalink)  
Antiguo 25/05/2008, 14:27
 
Fecha de Ingreso: febrero-2008
Mensajes: 76
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Insertar valor en campos creados dinámicamente en una base datos

Muchas gracias, tenias razón en que debía usar UPDATE.

He hecho unas pruebas iniciales y si que se agregan en la misma fila.

Gracias.
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 14:28.