Os muestro como creo el formulario, como lo envió y como lo recibo y los problemas que tengo.
Formulario de envió:
Código PHP:
Ver original
<? #Consulta selecciona rubros #Consulta selecciona plan y años #Resultados de ambas consultas correctos y con datos. $anos = 4; $anoinicio = 2012; $anios = $anos; $contador = 0; $cont = 0; ?> #Formulario dentro de Tabla <table> <tr> <th>ID</th> <th>Rubro</th> <? while($anios > 0){ $anop = $anoinicio + $contador; ?> <th><? echo $anop; ?></th> <? $anios = $anios - 1; $contador = $contador + 1; } ?> </tr> <form name="form1" action="recibir.code.php" method="post"> <? do{ $cc = 1; $anfios = $anos; ?> <tr> <td><?php echo $row_sr['id_rubros']; ?></td> <input name="rubro[<?php echo $row_sr['id_rubros']; ?>][rubro]" type="hidden" value="<?php echo $row_sr['id_rubros']; ?>" /> <input name="trienal" type="hidden" value="<? echo $row_tri['id_trienal']; ?>" /> <td><?php echo $row_sr['rubro']; ?> <span class="note"><span class="style1">*</span></span></td> <? while($anfios > 0){ $anop = $anoinicio + $contador; ?> <th><input type="text" size="12" name="ano[<? echo $cc; ?>][id]" id="ano[<? echo $cc; ?>]" value="0" /></th> <? $anfios = $anfios - 1; $contador = $contador + 1; $cc++; } ?> </tr> <tr> <td colspan="<? $c = $anos + 2; echo $c; ?>"> <input type="submit" value="Guardar Presupuesto" /> </td> </tr> </form> </table>
Bueno hasta ahí es el formulario que envia que visto desde el localhost es asi:
Bueno hasta ahí segun yo todo bien.
Para recibir tengo este archivo llamado recibir.code.php el cual opera de la sguiente forma:
Código PHP:
Ver original
<? $rubro = $_POST['rubro']; $ano = $_POST['ano']; foreach($rubro as $ru){ $rubr = $ru['rubro']; echo $rubr."--<br>"; foreach($ano as $an){ $anio = $an['id']; echo $anio."<br>"; #echo $ru."<br>"; } } ?>
Y este es el resultado obtenido:
Si se fijan al inicio dice
1--
200
300
400
500
...
5--
200
300
400
500
El problema esta en que en el rubro 5-- envio esos datos:
5--
200
300
400
500
En los demas envio 100, 100, 100, 100
Pero solo recibe lo del quinto rubro y solo imprime ese rubro, aunque los numeros van correlativamente.
No he logrado solucionar mi problema, alguno de ustedes podría ayudarme a que saque las cantidades correctas de cada rubro enviado y que no muestre únicamente los del quinto?
De antemano muchas gracias
Saludos