Buenas buenas!! :) Espero me puedan ayudar con la siguiente situación:
Tengo un formulario donde se aprecian los datos de una venta, y se muestra el codigo de venta, el producto vendido, la cantidad y el precio. Estoy probando con tres productos por lo tanto mi tabla me muestra 3 registros con el mismo codigo de venta, y los respectivos datos de los prductos. Resulta que debo dejar abierta la opcion d editar la cantidad y para eso tengo el siguiente formulario:
Código HTML:
<form action="javascript: fn_modificar();" method="post" name="frm_per" id="frm_per">
<input type="hidden" id="id" name="id" value="<?=$_POST['codigo_venta']?>" />
<table>
<tr id="tr_<?=$rs_per['codigo_venta']?>">
<td><?=$rs_per['codigo_venta']?></td>
<td><input type="hidden" name="idp" id="idp" value="<?=$otro['id']?>"><?=$namepro?></td>
<td><input type="text" name="cantidad" size="10" value="<?=$rs_per['cantidad']?>"></td>
<td><?=$rs_per['precio']?></td>
</tr>
<td colspan="2">
<input type="submit" value="Modificar" name="modificar">
<input name="cancelar" type="button" id="cancelar" value="Cerrar" onclick="fn_cerrar();" />
</td>
</table>
</form>
Hasta ahi todo bien, pero si edito la cantidad de los tres productos, solamente en mi base de datos (en mysql) se modifica el ultimo registro. Aqui mi archivo php con la sentencia sql:
Código PHP:
<?php
require("../sesion/conexion.php");
$cuenta=mysql_query("SELECT count(*) FROM detalle_venta where codigo_venta='$_POST[id]'");
$resultado = mysql_result($cuenta,0);
$i=1;
while ($i <= $resultado) {
$strsql= "UPDATE detalle_venta SET cantidad='$_POST[cantidad]' WHERE id='$_POST[idp]'";
$result=mysql_query($strsql);
$i++;
}
?>
En mi ejemplo son 3 registros y deberia meterse en el ciclo 3 veces pero nose porq solo modifica el ultimo registro. Les agradeceria mucho su ayuda please!!