Saben que no me resulta.
Creé un array asociativo de esta forma:
Código PHP:
$a[$i]["cant"] = $HTTP_POST_VARS["cant"];
$a[$i]["prod"] = $HTTP_POST_VARS["prod"];
$a[$i]["punit"] = $HTTP_POST_VARS["punit"];
El valor de $i lo paso por URL , asi $i la inicializo en 0 la primera vez, y cada vez se va sumando 1 a $i. Corrijanme si estoy equivocado.
Si por el formulario recibo los valores de $HTTP_POST_VARS[], lo que hago cada vez que cargo el formulario es cambiar la posicion en el array determinada por $i, por lo que todos los ingresos deberian quedar correctamente guardados en ese array.
Ahora, como los muestro, asi:
Código PHP:
$x=0;
while ($x < $i){
addVal($a[$x]["cant"],$a[$x]["prod"],$a[$x]["punit"]);
$x++;
}
Las etiquetas <table></table> estan creadas antes de ese bucle.
Lo extraño es ke pareciera que la funcion addVal() estuviera mandando valores nulos a la funcion porque en la tabla se crean las filas, pero se agrega una fila y solo me muestra el ultimo ingreso de esta forma:
Asi, se crean filas y van quedando ceros acumulados hacia arriba, como si NO leyera los valores anteriores en el array. ¿ Porque sucedera esto?
Para mas detalle, incluyo el poco codigo que tiene esto:
Código PHP:
<table width="500" border="1">
<tr>
<td>Cantidad</td><td>Detalle</td><td>P/Unit</td><td>Total</td>
</tr>
<?
if (!isset($_GET["i"])) $i=0;
else $i = $_GET["i"];
echo "i = ".$i."<br>";
if ($i > 10) die ("Ha superado el maximo de entradas para la entrega");
function addVal($cant,$prod,$punit){
$total = $cant * $punit;
echo "
<tr>
<td>$cant</td><td>$prod</td><td>$punit</td><td>$total</td>
</tr>
";
}
$a[$i]["cant"] = $HTTP_POST_VARS["cant"];
$a[$i]["prod"] = $HTTP_POST_VARS["prod"];
$a[$i]["punit"] = $HTTP_POST_VARS["punit"];
$x=0;
echo "x = ".$x."<br>";
while ($x <= $i){
addVal($a[$x]["cant"],$a[$x]["prod"],$a[$x]["punit"]);
$x++;
}
echo "x = ".$x."<br>";
?>
</table>
<form name="imprimeEntrega" method="post" action="imprimeEntrega.php?i=<?=$i+1?>">
<input name="cant" type="text" id="cant">
<input name="prod" type="text" id="prod">
<input name="punit" type="text" id="punit">
<input type="submit" name="Submit" value="Agregar">
</form>
Gracias por las respuestas, espero me puedan seguir ayudando.
Saludos!