Tengo un problema con un código y no se cuál sea el error... Les explico.
Tengo una tabla de pedidos en mi base de datos, en la cuál debe haber una opción para poder cambiar el pedido que ya ha sido almacenado en esta tabla. Por ejemplo, si el cliente pidió 10 piezas de A, 10 piezas de B, 10 piezas de C, etc... y posteriormente quiere cambiar alguna de estas, pues debe ser posible hacerlo.
Tengo el siguiente código:
Código PHP:
<table>
<form action="cambios.php" method="post">
<tr>
<td>Cantidad</td>
<td>Pieza</td>
<td>Cantidad a cambiar</td>
<td>Piezas por cambio</td>
</tr>
<?php
$i=0;
$rowSqlMarcas = array();
while($rowSqlPiezasPedido = mysql_fetch_array($sqlPiezasPedido)) { ?>
<tr>
<td><input type="text" name="cantidadOriginal<?php echo $i; ?>" id="cantidadOriginal<?php echo $i; ?>" value="<?php echo $rowSqlPiezasPedido['cantidad']; ?>" disabled="disabled"/></td>
<td><input type="text" name="piezasOriginal<?php echo $i; ?>" id="piezasOriginal<?php echo $i; ?>" value="<?php echo $rowSqlPiezasPedido['nombre']; ?>" disabled="disabled" /></td>
<td>
<input type="text" name="cantidadCambio<?php echo $i; ?>" id="cantidadCambio<?php echo $i; ?>" />
<input type="text" name="hiddenId<?php echo $i; ?>" id="hiddenId<?php echo $i; ?>" value="<?php echo $rowSqlPiezasPedido['id_piezas']; ?>" />
</td>
<td>
<select name="piezasCambio<?php echo $i; ?>">
<option value="0">-- Seleccione --</option>
<?php while($rowSqlMarcas[$i] = mysql_fetch_array($sqlMarcas)) { ?>
<option value="<?php echo $rowSqlMarcas[$i]['id_pack']; ?>"><?php echo $rowSqlMarcas[$i]['nombre']; ?></option>
<?php } ?>
</select>
</td>
</tr>
<?php $i++; }
$cambios = array();
$idCambios = array();
$origen = array();
/* Cambio de artículos */
var_dump();
if($_POST['cambiar']) {
for($j=0; $j<$i; $j++) {
$cambios[$j] = $_POST['cantidadCambio'.$j];
$idCambios = $_POST['piezasCambio'];
$origen[$j] = $_POST['piezasOriginal'.$j];
if(isset($cambios[$j])) {
$sqlCambioPiezas = mysql_query("Update piezas Set cantidad = $cambios[$j] Where id_piezas = $idCambios ");
}
}
}
?>
<tr>
<td></td>
<td></td>
<td></td>
<td align="center"><input type="submit" name="cambiar" id="cambiar" value="Cambiar" /></td>
</tr>
</form>
</table>
La idea era que salieran por cada línea, los scrolls con los nombres de las piezas, sin embargo sólo el primero trae información y los siguientes vienen vacíos. Lo que no entiendo es el porque sólo el primer scroll funciona y los demás no.
Estas son las consultas que utilizo:
$sqlPiezasPedido = mysql_query("SELECT nombre, cantidad, id_pedido, id_piezas FROM `piezas` as piezas Left Join dress_pack as dress On (id_dress = id_pack) Where id_pedido = $cambio");
y
$sqlMarcas = mysql_query("Select * from dress_pack");
Este es un ejemplo de como deben salir:
10 A [] Scroll con las piezas (A, B, C, D, E)
10 B [] Scroll con las piezas ()
10 C [] Scroll con las piezas ()
Bueno... espero entiendan la simulación :P La primera columna marca la cantidad (esa sale bien), la segunda el nombre de la pieza (esa sale bien), la tercera el input para poner la cantidad nueva (sin problema), y la cuarta el scroll... pero sólo en la primera línea se llena, las siguientes viene vacía.
Espero y haber sido algo claro, de todas formas sigo por aquí... Saludos y de antemano gracias por sus comentarios!!