Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/11/2015, 13:30
shock_dude
 
Fecha de Ingreso: febrero-2008
Ubicación: Bahia Blanca
Mensajes: 173
Antigüedad: 16 años, 3 meses
Puntos: 7
duda con foreach en array multidimensional

Hola a todos/as!

Estoy cargando datos (desde un input text dinámico) en un array bidimensional y me los carga bien, pero siempre me carga algunos registros extra y vacíos.
Ej: cargo 3 artículos y me los carga bien en la BD pero me carga 6 o 7 (los ultimos son registros vacíos y los agrega solo).

Lo que busco es que cada par de color/stock se ingrese en un registro diferente, y lo hago así:

Código HTML:
<input type="text" name="color[]" /> <input type="text" name="stock[]" />
<input type="text" name="color[]" /> <input type="text" name="stock[]" />
<input type="text" name="color[]" /> <input type="text" name="stock[]" /> 
Código:
$i = 0;

foreach ((array) $_POST as $val) {


$sql = "INSERT INTO ".$DBNAME.".`stock` (
`idPublicacion` ,
`codArticulo` ,
`color` ,
`stock`
)
VALUES (
'$idPublicacion', '$codArticulo', '".$_POST["color"][$i]."', '".$_POST["stock"][$i]."')";
mysqli_query($conexion,$sql);

       $i++;
   
   } mysqli_close($conexion);
En este punto es donde carga todo el array , pero en vez de 3 carga 6 y éstos ultimos vacíos.

Entiendo que es un problema con el foreach pero no se en qué estoy fallando. Alguna idea?
o alguna otra forma recomendada de hacer un foreach para un array bidimensional?

Gracias!