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:
En este punto es donde carga todo el array , pero en vez de 3 carga 6 y éstos ultimos vacíos. $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);
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!