Foros del Web » Programando para Internet » PHP »

como crear e insertar datos de un array en mysql con php?

Estas en el tema de como crear e insertar datos de un array en mysql con php? en el foro de PHP en Foros del Web. Hola, tengo una consulta, estoy haciendo varias aplicaciones, y cada una de ellas utiliza diferente cantidad de datos en los formularios, y estaba pensando, en ...
  #1 (permalink)  
Antiguo 22/06/2011, 16:07
 
Fecha de Ingreso: mayo-2004
Mensajes: 400
Antigüedad: 19 años, 11 meses
Puntos: 0
como crear e insertar datos de un array en mysql con php?

Hola, tengo una consulta, estoy haciendo varias aplicaciones, y cada una de ellas utiliza diferente cantidad de datos en los formularios, y estaba pensando, en lugar de agregar un nombre a cada campo de cada formulario y luego ingresarlo en su respectiva tabla, si habria alguna forma de hacerlo mas sencillo y a parte no tener que preocuparme de la cantidad de campos de cada formulario?

Estaba pensando si se podia crear un array en el formulario por ejemplo algo asi

Código PHP:
<label for="campo1">campo1:</label> <input id="campo1" name="campo[]" size="25" type="text" class="medium" />
                        
<
label for="campo2">campo2:</label> <input id="campo2" name="campo[]" size="25" type="text" class="medium" />
                       
<
label for="campo3">campo3:</label> <input id="campo3" name="campo[]" size="25" type="text" class="medium" /> 
o si esta mal como podria hacerlo? y luego como seria el insert al pasarlo al archivo que lo inserta en la base de datos.

Quiero hacer algo generico porque son aplicaciones separadas entonces quiero utilizar una de base para crear las otras dos.

Si alguien tiene otra sugerencia, es bienvenida :)

Saludos.
  #2 (permalink)  
Antiguo 22/06/2011, 16:14
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 9 meses
Puntos: 105
Respuesta: como crear e insertar datos de un array en mysql con php?

Pero asi esta perfecto... ahora solo debes despues recorrer ese arreglo y listo ^^
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #3 (permalink)  
Antiguo 23/06/2011, 10:53
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: como crear e insertar datos de un array en mysql con php?

Recorrer el arreglo y limpiarlo antes de insertarlo en base de datos.

Como tenes escrita tu query para insercion?
  #4 (permalink)  
Antiguo 23/06/2011, 11:18
 
Fecha de Ingreso: mayo-2004
Mensajes: 400
Antigüedad: 19 años, 11 meses
Puntos: 0
Respuesta: como crear e insertar datos de un array en mysql con php?

Hola, tengo un archivo llamado agregar.php en el que coloco todos los query para insertar de todos los formularios que utilizo en las diferentes paginas y dependiendo del formulario lo inserto asi

Código PHP:
if(isset($_POST['nombreb'])){
    
$nombreb sqlValue($_POST["nombreb"],"text");
 
mysql_query("INSERT INTO banco (id_banco,nombre_banco) VALUES ('',".$nombreb.")") or die ("Error: "mysql_error());  
 
header("Location:bancos.php");

asi son todos los insert en ese archivo, lo que apsa es que algunos formularios tienen muchos campos, y entonces estaba pensando en un metodo en el que pueda insertar los campos sin tener que escribir cada nombre de campo, ya que de este proyecto tengo que hacer otros dos que son muy parecidos y quiero utilizar el mismo codigo, y no quisiera cambiar uno por uno los nombres de las variables, no se si me explico.

Algo que se pueda utilizar de forma generica sin importar la cantidad de campos o los nombres de cada uno.

Saludos
  #5 (permalink)  
Antiguo 23/06/2011, 12:00
 
Fecha de Ingreso: diciembre-2008
Mensajes: 190
Antigüedad: 15 años, 4 meses
Puntos: 6
Respuesta: como crear e insertar datos de un array en mysql con php?

No me parece que este bien tener dos campos como "Nombre" y "Telefono" y llamar a los 2 campo. Pero buen si asi lo queres es como lo venis haciendo:
nombre de inputs = campo[]
y luego al procesarlos

Código PHP:
Ver original
  1. foreach ($_POST['campo'] as $val){
  2.  $data[] = sqlValue($val,'text');
  3. }
  4. $imp  =  implode(",",$data);
Luego
INSERT INTO tabla VALUES ($imp)

Por cierto, el orden los campos en el formulario debe ser el mismo que como esta la tabla en la bd ...
  #6 (permalink)  
Antiguo 23/06/2011, 12:39
 
Fecha de Ingreso: mayo-2004
Mensajes: 400
Antigüedad: 19 años, 11 meses
Puntos: 0
Respuesta: como crear e insertar datos de un array en mysql con php?

Hola, gracias turfeano, yo lo hago como en el ejemplo cada campo con su nombre, el problema es que quiero utilizar el mismo proyecto para hacer otros dos que son parecidos y no queria estar escribiendo en cada uno el nombre de cada campo, porque son todos diferentes.

Una pregunta, utilizarlo de esta forma disminuye la seguridad?

Saludos

Última edición por pakillo; 23/06/2011 a las 16:58
  #7 (permalink)  
Antiguo 23/06/2011, 20:26
 
Fecha de Ingreso: mayo-2004
Mensajes: 400
Antigüedad: 19 años, 11 meses
Puntos: 0
Respuesta: como crear e insertar datos de un array en mysql con php?

Hola, tengo una duda, en uno de los formularios tengo que agregar un campo para subir una imagen y guardar el nombre en la BD, utilizando este método como podria hacerlo? :(

Estoy insertando los datos asi

Código PHP:
if(isset($_POST['campo'])){
    foreach (
$_POST['campo'] as $val){
 
$data[] = sqlValue($val,'text');
}
$imp  =  implode(",",$data);
 
mysql_query("INSERT INTO articulo VALUES ($imp)") or die ("Error: "mysql_error());  
 
header("Location:articulo.php");

viene del formulario con los campos campo[]
  #8 (permalink)  
Antiguo 25/06/2011, 09:06
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: como crear e insertar datos de un array en mysql con php?

Las imagenes y su data vienen en el array $_FILES. Buscate un tutorial de manejo de archivos recibidos desde formularios. Pero desde ya que con ese array FILES obtenes el nombre:

Código PHP:
Ver original
  1. $_FILES['nombreUploader']['tmp_name']

1) me llama la atención que uses campo[] para recibir un archivo. Es muy raro.

2) Lo que poseteaste más arriba, de sql, tiene un error de comillas y no puede funcionar:
"INSERT INTO banco (id_banco,nombre_banco) VALUES ('',".$nombreb.")"

Etiquetas: 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 20:49.