Buenas tengo un problemilla y es que he creado una especie de sistema para rellenar facturas que según la cantidad que se le indique crea tantas filas en un formulario como le digamos, es decir:
para el nombre del producto
array[$i][0]
para la referencia
array[$i][1]
para la cantidad
array[$i][2]
para el total (precio)
array[$i][3]
Si le digo que me cree 10 filas crear estas con 4 campos cada una para cada "propiedad" de cada artículo.
el problema que tengo es que si relleno este array y le doy a actualizar , no se porque no me actualiza todos los elementos del array a la vez y lo que yo quiero es que si se crean a la vez por ejemplo 100 filas se llene el array de golpe al darle a actualizar y no tenga que insertar una a una. El código es el siguiente
Código:
if ($_POST['pedidos'])
{
$_SESSION["pedidos"]=$_POST['pedidos'];
}
$_SESSION["suma_total"]=$_POST['suma_total'];
?>
<table align="center" class="factura">
<tr>
<td><a href='stock.php'> Panel de control</a> </td>
<td colspan="5" align="center"><h5>Factura </h5></td>
<td> Número de artículos <form name='arts' action="<? $PHP_SELF ?>" method="post">
<input type="text" name="num" />
<input type="submit" name="enviar" value="actualizar">
</form>
</td>
</tr>
<tr><td> Ref</td><td>Artículo</td><td>Unidades</td><td>Precio</td><td>Total</td></tr>
<form action="<?= $PHP_SELF; ?>" method="post" >
<?
if ($_POST['num'])
$num=$_POST['num'];
else
$num=1;
for ($i=0 ; $i<=$num ; $i++)
{
//Referencia
echo "<tr><td ><input name='pedidos[$i][0]' type='text' value='".$_SESSION['pedidos'][$i][0]."' /></td >";
//Articulo nombre
echo "<td ><input name='pedidos[$i][1]' type='text' value='".$_SESSION['pedidos'][$i][1]."' /></td >";
//Unidades artículo
echo "<td ><input name='pedidos[$i][2]' type='text' value='".$_SESSION['pedidos'][$i][2]."' /></td >";
//Precio artículo/unidad
echo "<td ><input name='pedidos[$i][3]' type='text' value='".$_SESSION['pedidos'][$i][3]."' /></td >";
//Precio Total del Total de unidades de ese artículo
echo "<td ><input name='total' type='text' value='".$total=$_SESSION['pedidos'][$i][2]*$_SESSION[pedidos][$i][3]."' /></td ><tr>";
echo "<td ><input name='num' type='hidden' value='$i' /></td ><tr>";
echo "<br>";
$_SESSION['suma_total']+=$total;
}
//Si no le damos al botón Terminar cierra la fila y no muestra el total
echo "<br>";
echo "<tr><td><input name='Siguiente' type='submit' value='ACTUALIZAR' /></td>";
echo "<td><input name='Terminar' type='submit' value='IMPRIMIR' onClick='AbreVentana()' /></td></tr>";
echo "<tr><td colspan='5' align='right'>Suma Total : ".$_SESSION['suma_total'] ."</td></tr>";
?>
</form>
</table>
Disculpar si el código es muy extenso ,pero para evitar confusiones e creído conveniente pegarlo todo.
Un saludo y gracias de antemano