Tengo un problema para actualizar la base de datos con un foreach.
Recibo el array con las variables correctamente pero no se realiza el update.
Lo tengo programado así:
<?php
foreach($_POST['fila'] as $key =>$codigos) {
$producto = $_POST['article'][$key];
mysql_query("UPDATE pedidos SET nombre='$producto' WHERE key='$codigos'");
}
?>
$_POST['fila'] y $_POST['article'] son dos variables que vienen de un form.
Este es el formulario origen de los registros:
<form action="otraPagina.php" method="POST" name="detalleProductos" id="detalleProductos">
<table width="100%" border="0" cellpadding="5" cellspacing="5">
<tr>
<td width="10%" class="fabricant202subr">Linea</td>
<td colspan="3" class="fabricant202subr">Artículo</td>
<td width="27%" class="fabricant202subr"><div align="center">Precio <em>con IVA</em></div></td>
<td width="26%" class="fabricant202subr"><div align="center">Cantidad</div></td>
</tr>
<?php do { ?>
<tr>
<td><input name="fila[]" type="text" class="formFons" id="fila[]" value="<?php echo $row_rsDetallePedidos['key']; ?>" size="5" readonly="readonly" /></td>
<td colspan="3"><select name="article[]" class="formFons" id="article[]">
<?php
do {
?>
<option value="<?php echo $row_rsProductes['nombre']?>"<?php if (!(strcmp($row_rsProductes['nombre'], $row_rsDetallePedidos['nombre']))) {echo "selected=\"selected\"";} ?>><?php echo $row_rsProductes['nombre']?></option>
<?php
} while ($row_rsProductes = mysql_fetch_assoc($rsProductes));
$rows = mysql_num_rows($rsProductes);
if($rows > 0) {
mysql_data_seek($rsProductes, 0);
$row_rsProductes = mysql_fetch_assoc($rsProductes);
}
?>
</select></td>
<td><div align="center">
<input name="preu[]" type="text" class="formFonsSub" id="preu[]" value="<?php echo $row_rsDetallePedidos['precio']; ?>" size="5" />
</div></td>
<td><div align="center">
<input name="cantidad[]" type="text" class="formFonsSub" id="cantidad[]" value="<?php echo $row_rsDetallePedidos['cantidad']; ?>" size="5" />
</div></td>
</tr>
<?php } while ($row_rsDetallePedidos = mysql_fetch_assoc($rsDetallePedidos)); ?>
</table>
<br />
<input name="Submit" type="submit" class="botoCar" id="button" value="Modificar !" />
</form>
He realizado vardvar_dump sobre:
$_POST['fila'] y $producto
El resultado es el siguiente:
array(2) { [0]=> string(4) "1464" [1]=> string(4) "1465" } string(9) "Viña Real"
array(2) { [0]=> string(4) "1464" [1]=> string(4) "1465" } string(6) "latria"
Espero de vuestra ayuda muy agradecido por vuestro tiempo y paciencia,