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!