Foros del Web » Programando para Internet » PHP »

Insertar Array a en mysql con php

Estas en el tema de Insertar Array a en mysql con php en el foro de PHP en Foros del Web. Hola Amigos estoy tratando de insertar en la base de datos varios array que vienen de un mismo formulario mi codigo es asi: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); ...
  #1 (permalink)  
Antiguo 22/05/2011, 08:00
 
Fecha de Ingreso: octubre-2010
Mensajes: 233
Antigüedad: 13 años, 6 meses
Puntos: 3
Insertar Array a en mysql con php

Hola Amigos
estoy tratando de insertar en la base de datos varios array que vienen de un mismo formulario mi codigo es asi:
Código PHP:
Ver original
  1. public function add_compra($compra_cod_prov,$compra_num_suc,$compra_num_com){
  2.     $sql="insert into compras values('null','$compra_cod_prov','$compra_num_suc','$compra_num_com')";
  3.     $res=mysql_query($sql,Conectar::con()) or die (mysql_error());
la pregunta es , como tendria que hacer para ingresar
$compra_cod_prov
$compra_num_suc
$compra_num_com
si cada una de esas variables es un array ?
y que cada dato lo ingrese en una fila diferente?
les agradezco cualquier ayuda que me puedan brindar
Saludos
  #2 (permalink)  
Antiguo 22/05/2011, 08:41
 
Fecha de Ingreso: enero-2007
Mensajes: 146
Antigüedad: 17 años, 3 meses
Puntos: 16
Respuesta: Insertar Array a en mysql con php

Son problemas distintos guardar un array en un campo de la BBDD a que cada elemento de un array genere un registro distinto en la BBDD.
Para lo primero, echa un ojo a http://es2.php.net/serialize

Y para lo segundo deberíamos saber si cada uno de esos tres arrays tiene su homólogo en los otros dos, o por el contrario son totalmente independientes. Es decir, tendrías que decirnos si por ejemplo, el primer array tiene 3 elementos, los otros dos deben tener obligatoriamente 3 y, además, se corresponden con las posiciones. O si por el contrario no tienen nada que ver.
Para solucionar el primero de estos dos últimos supuestos, bastaría con hacer un foreach, por ejemplo, para recorrer uno de los arrays e ir insertando en la BBDD.
  #3 (permalink)  
Antiguo 22/05/2011, 08:49
 
Fecha de Ingreso: octubre-2010
Mensajes: 233
Antigüedad: 13 años, 6 meses
Puntos: 3
Respuesta: Insertar Array a en mysql con php

Hola como estas Gracias por responder
cada array puede tener 1 o varios elementos y se corresponden uno con otros , es decir si $compra_cod_prov
tiene 10 elementos , los demas tambien
como seria la sintaxis para insertar en la base de datos?
saludos
  #4 (permalink)  
Antiguo 22/05/2011, 09:03
 
Fecha de Ingreso: enero-2007
Mensajes: 146
Antigüedad: 17 años, 3 meses
Puntos: 16
Respuesta: Insertar Array a en mysql con php

Código PHP:
Ver original
  1. foreach ($compra_cod_prov as $key => $value)
  2.   mysql_query("INSERT INTO compras VALUES('null','" . $value . "','" . $compra_num_suc[$key] . "','" . $compra_num_com[$key] . "')";
Por ejemplo...
  #5 (permalink)  
Antiguo 22/05/2011, 09:13
 
Fecha de Ingreso: octubre-2010
Mensajes: 233
Antigüedad: 13 años, 6 meses
Puntos: 3
Respuesta: Insertar Array a en mysql con php

Perfecto muchas gracias
el unico inconveniente que tengo es que se esta insertando unicamente el ultimo elemento del array
ejemplo:
[compra_arti_id] => Array ( [0] => 11 [1] => 13 // este ultimo id se inserta (13) )
lo hice de esta manera
Código PHP:
Ver original
  1. foreach ($compra_arti_id as $key => $value)
  2. mysql_query("INSERT INTO compras VALUES('null','" . $value . "')";
  #6 (permalink)  
Antiguo 22/05/2011, 09:26
 
Fecha de Ingreso: enero-2007
Mensajes: 146
Antigüedad: 17 años, 3 meses
Puntos: 16
Respuesta: Insertar Array a en mysql con php

Si haces un print_r antes del foreach te muestra ambos valores? No tiene sentido que recorriendo el array completo te muestre solo el último xD
  #7 (permalink)  
Antiguo 22/05/2011, 09:31
 
Fecha de Ingreso: octubre-2010
Mensajes: 233
Antigüedad: 13 años, 6 meses
Puntos: 3
Respuesta: Insertar Array a en mysql con php

lo que queria decir es que en el campo compra_arti_id de la tabla compras solamente se inserta el ultimo registro del array $compra_arti_id .
se puede insertar en un mismo campo los dos registros del array
en este caso
[compra_arti_id] => Array ( [0] => 11 [1] => 13
Gracias por tu tiempo y paciencia
  #8 (permalink)  
Antiguo 22/05/2011, 09:35
 
Fecha de Ingreso: enero-2007
Mensajes: 146
Antigüedad: 17 años, 3 meses
Puntos: 16
Respuesta: Insertar Array a en mysql con php

Entonces estamos en el primer caso que puse de todos... utiliza serialize :)
  #9 (permalink)  
Antiguo 22/05/2011, 09:45
 
Fecha de Ingreso: octubre-2010
Mensajes: 233
Antigüedad: 13 años, 6 meses
Puntos: 3
Respuesta: Insertar Array a en mysql con php

ok , a ver si entendi , utilizando serialize puedo insertar cada elemento de un array en una fila diferente pero de la misma tabla ?
  #10 (permalink)  
Antiguo 22/05/2011, 10:02
 
Fecha de Ingreso: enero-2007
Mensajes: 146
Antigüedad: 17 años, 3 meses
Puntos: 16
Respuesta: Insertar Array a en mysql con php

Te estás liando demasiado...
Por un lado dices esto:
Cita:
se puede insertar en un mismo campo los dos registros del array
Ok, utiliza serialize. Pero por otro lado dices:
Cita:
utilizando serialize puedo insertar cada elemento de un array en una fila diferente pero de la misma tabla ?
Entonces quieres meterlo en un mismo campo los valores de un array, o cada valor del array en un registro diferente? (un insert diferente).

Estás mezclando campos, tablas, registros... todo.
  #11 (permalink)  
Antiguo 22/05/2011, 10:08
 
Fecha de Ingreso: octubre-2010
Mensajes: 233
Antigüedad: 13 años, 6 meses
Puntos: 3
Respuesta: Insertar Array a en mysql con php

jajaja perdon lo que quiero hacer es:

meter en un mismo campo los valores de un array
  #12 (permalink)  
Antiguo 22/05/2011, 10:11
 
Fecha de Ingreso: enero-2007
Mensajes: 146
Antigüedad: 17 años, 3 meses
Puntos: 16
Respuesta: Insertar Array a en mysql con php

Pues entonces eso, utiliza serialize :)
  #13 (permalink)  
Antiguo 22/05/2011, 10:12
 
Fecha de Ingreso: octubre-2010
Mensajes: 233
Antigüedad: 13 años, 6 meses
Puntos: 3
Respuesta: Insertar Array a en mysql con php

listo gracias por todo
Saludos!!!
  #14 (permalink)  
Antiguo 22/05/2011, 10:14
 
Fecha de Ingreso: enero-2007
Mensajes: 146
Antigüedad: 17 años, 3 meses
Puntos: 16
Respuesta: Insertar Array a en mysql con php

De nada!!!

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 13:21.