Ver Mensaje Individual
  #5 (permalink)  
Antiguo 22/11/2003, 12:12
tonny_bronson
 
Fecha de Ingreso: junio-2003
Ubicación: Santiago
Mensajes: 105
Antigüedad: 20 años, 10 meses
Puntos: 1

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!

Última edición por tonny_bronson; 22/11/2003 a las 12:15