Foros del Web » Programando para Internet » PHP »

Recibir input dinámico con php

Estas en el tema de Recibir input dinámico con php en el foro de PHP en Foros del Web. Hola gente, tengo un problema, estoy creando un formulario dinamico dependiente de los campos de una base de datos, de dos tablas para ser mas ...
  #1 (permalink)  
Antiguo 12/04/2012, 07:08
ohk
 
Fecha de Ingreso: abril-2012
Mensajes: 8
Antigüedad: 7 años, 4 meses
Puntos: 1
Mensaje Recibir input dinámico con php

Hola gente, tengo un problema, estoy creando un formulario dinamico dependiente de los campos de una base de datos, de dos tablas para ser mas específico y tengo problemas el recibir los datos.

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
  1. <?
  2. #Consulta selecciona rubros
  3. #Consulta selecciona plan y años
  4. #Resultados de ambas consultas correctos y con datos.
  5.  
  6. $anos = 4;
  7. $anoinicio = 2012;
  8. $anios = $anos;
  9. $contador = 0;
  10. $cont = 0;
  11.  
  12. ?>
  13.  
  14. #Formulario dentro de Tabla
  15.  
  16. <table>
  17.     <tr>
  18.         <th>ID</th>
  19.         <th>Rubro</th>
  20.         <?
  21.             while($anios > 0){
  22.                 $anop = $anoinicio + $contador;
  23.         ?>
  24.                 <th><? echo $anop; ?></th>
  25.         <?      $anios = $anios - 1;
  26.                 $contador = $contador + 1;
  27.             }
  28.         ?>
  29.     </tr>
  30.     <form name="form1" action="recibir.code.php" method="post">
  31.     <? do{
  32.             $cc = 1;
  33.             $anfios = $anos;
  34.     ?>
  35.     <tr>
  36.         <td><?php echo $row_sr['id_rubros']; ?></td>
  37.         <input name="rubro[<?php echo $row_sr['id_rubros']; ?>][rubro]" type="hidden" value="<?php echo $row_sr['id_rubros']; ?>" />
  38.         <input name="trienal" type="hidden" value="<? echo $row_tri['id_trienal']; ?>" />
  39.       <td><?php echo $row_sr['rubro']; ?> <span class="note"><span class="style1">*</span></span></td>
  40.         <?
  41.             while($anfios > 0){
  42.                 $anop = $anoinicio + $contador;
  43.         ?>
  44.                 <th><input type="text" size="12" name="ano[<? echo $cc; ?>][id]" id="ano[<? echo $cc; ?>]" value="0" /></th>
  45.         <?      $anfios = $anfios - 1;
  46.                 $contador = $contador + 1;
  47.                 $cc++;
  48.             }
  49.         ?>
  50.     </tr>  
  51.     <? }while($row_sr = mysql_fetch_assoc($sr)); ?>
  52.     <tr>
  53.         <td colspan="<? $c = $anos + 2; echo $c; ?>">
  54.             <input type="submit" value="Guardar Presupuesto" />
  55.         </td>
  56.     </tr>
  57.     </form>
  58. </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
  1. <?
  2. $rubro = $_POST['rubro'];
  3. $ano = $_POST['ano'];
  4.  
  5. foreach($rubro as $ru){
  6.    
  7.     $rubr = $ru['rubro'];
  8.     echo $rubr."--<br>";
  9.    
  10.     foreach($ano as $an){
  11.         $anio = $an['id'];
  12.         echo $anio."<br>";
  13.         #echo $ru."<br>";
  14.     }
  15.    
  16. }  
  17. ?>

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
  #2 (permalink)  
Antiguo 12/04/2012, 07:35
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.339
Antigüedad: 9 años, 6 meses
Puntos: 177
Respuesta: Recibir input dinámico con php

En recibir.code.php hacé lo siguiente, al principio pone esto:

Código PHP:
Ver original
  1. echo '<pre>';
  2. print_r($_POST);
  3. echo '</pre>';

Para ver que es lo que estás recibiendo
__________________
la la la
  #3 (permalink)  
Antiguo 12/04/2012, 07:42
ohk
 
Fecha de Ingreso: abril-2012
Mensajes: 8
Antigüedad: 7 años, 4 meses
Puntos: 1
Respuesta: Recibir input dinámico con php

Esto:

Código PHP:
Ver original
  1. (
  2.     [rubro] => Array
  3.         (
  4.             [1] => Array
  5.                 (
  6.                     [rubro] => 1
  7.                 )
  8.  
  9.             [2] => Array
  10.                 (
  11.                     [rubro] => 2
  12.                 )
  13.  
  14.             [3] => Array
  15.                 (
  16.                     [rubro] => 3
  17.                 )
  18.  
  19.             [4] => Array
  20.                 (
  21.                     [rubro] => 4
  22.                 )
  23.  
  24.             [5] => Array
  25.                 (
  26.                     [rubro] => 5
  27.                 )
  28.  
  29.         )
  30.  
  31.     [trienal] => 3
  32.     [ano] => Array
  33.         (
  34.             [1] => Array
  35.                 (
  36.                     [id] => 200
  37.                 )
  38.  
  39.             [2] => Array
  40.                 (
  41.                     [id] => 300
  42.                 )
  43.  
  44.             [3] => Array
  45.                 (
  46.                     [id] => 400
  47.                 )
  48.  
  49.             [4] => Array
  50.                 (
  51.                     [id] => 500
  52.                 )
  53.  
  54.         )
  55.  
  56. )
  57. 1--
  58. 200
  59. 300
  60. 400
  61. 500
  62. 2--
  63. 200
  64. 300
  65. 400
  66. 500
  67. 3--
  68. 200
  69. 300
  70. 400
  71. 500
  72. 4--
  73. 200
  74. 300
  75. 400
  76. 500
  77. 5--
  78. 200
  79. 300
  80. 400
  81. 500
  #4 (permalink)  
Antiguo 12/04/2012, 13:31
ohk
 
Fecha de Ingreso: abril-2012
Mensajes: 8
Antigüedad: 7 años, 4 meses
Puntos: 1
Respuesta: Recibir input dinámico con php

Ayuda porfavor.

Etiquetas: datos+db+mysql, formulario+dinamico, input+dinamico, php+recibe, recibir+datos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:17.