Foros del Web » Programando para Internet » PHP »

Guardar arreglo bidimensional asociativo en MySQL

Estas en el tema de Guardar arreglo bidimensional asociativo en MySQL en el foro de PHP en Foros del Web. Hola amigos del foro, tengo un problema creo que no muy grave pero ya busque por otros temas de foro PHP y no me queda ...
  #1 (permalink)  
Antiguo 21/09/2014, 12:15
 
Fecha de Ingreso: enero-2012
Mensajes: 24
Antigüedad: 12 años, 10 meses
Puntos: 0
Guardar arreglo bidimensional asociativo en MySQL

Hola amigos del foro, tengo un problema creo que no muy grave pero ya busque por otros temas de foro PHP y no me queda claro aun como puedo almacenar este arreglo en una tabla de MySQL que tiene como campos: id, idpromocion, idproducto, precio

El arreglo es el siguiente:

Array
(
[idproducto] => Array
(
[0] => 385 --- Id del producto
[1] => 381 --- Id del producto
)

[precio] => Array
(
[0] => 15 --- Precio del producto 385
[1] => 34.98 --- Precio del producto 381
)

)

Es como la funcion print_r imprime el arreglo enviado desde el formulario.

El código PHP que utilizo es el siguiente:

$info = array('idproducto' => $idproducto, 'precio' => $precio);

$i = 0;
foreach ($info as $id => $val){

mysql_query("INSERT INTO promociones_p (idpromocion, idproducto, precio) VALUES ('$idpromocion','$val[$i]','$val[$i]')",$link);
$i++;
}


De antemano gracias.

Última edición por fernandodelao_7; 21/09/2014 a las 12:26
  #2 (permalink)  
Antiguo 21/09/2014, 12:45
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Guardar arreglo bidimensional asociativo en MySQL

Si ambos arrays comparten la misma clave puedes hacer esto:
Código PHP:
Ver original
  1. $idproducto = array(385, 381);
  2. $precio = array(15, 34.98);
  3.  
  4. foreach (array_keys($idproducto) as $key) {
  5.     echo $idproducto[$key] . ' = ' . $precio[$key] . "\n";
  6. }

La idea es iterar únicamente las claves para acceder a tantos arrays como desees, usando la misma clave.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 21/09/2014, 12:59
 
Fecha de Ingreso: enero-2012
Mensajes: 24
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Guardar arreglo bidimensional asociativo en MySQL

Gracias por tomarte el tiempo para responder pero tengo una duda ¿Cómo le asigno los valores enviados dinámicamente a los respectivos arrays ya que en tu respuesta ya estan asignados, sinceramente soy un poco novatos en esto de los arrays...

$idproducto = array(385, 381);
$precio = array(15, 34.98);

Y otra cosa la consulta para insertarlos en la base de datos como quedaría alguna idea?
  #4 (permalink)  
Antiguo 21/09/2014, 13:28
 
Fecha de Ingreso: enero-2012
Mensajes: 24
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Guardar arreglo bidimensional asociativo en MySQL

Intente esto pero no me ha funcionado...

Código PHP:
Ver original
  1. $idproducto = array($_REQUEST['idproducto']);
  2.     $precio = array($_REQUEST['precio']);
  3.    
  4.     foreach (array_keys($idproducto) as $key) {
  5.    
  6.     mysql_query("INSERT INTO promociones_p (idpromocion, idproducto, precio) VALUES ('$idpromocion','$idproducto[$key]','$precio[$key] ')",$link);
  7.    
  8.     }

Etiquetas: arrays, mysql, mysql+consulta
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 21:57.