Foros del Web » Programando para Internet » PHP »

Procesar formulario con inputs arrays multidimensionales

Estas en el tema de Procesar formulario con inputs arrays multidimensionales en el foro de PHP en Foros del Web. Bueno, tengo este formulario: Código HTML: <form action= "<?php echo $_SERVER['PHP_SELF'] ?>" method= "post" > <input type= "text" value= "2000" name="pagos[valor1][1]" /> <input type= "text" ...
  #1 (permalink)  
Antiguo 23/06/2009, 09:35
 
Fecha de Ingreso: enero-2009
Mensajes: 24
Antigüedad: 15 años, 3 meses
Puntos: 0
Procesar formulario con inputs arrays multidimensionales

Bueno, tengo este formulario:

Código HTML:
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post">
<input type="text" value="2000" 	name="pagos[valor1][1]" />
<input type="text" value="0001" 	name="pagos[codigo2][1]" />
<input type="text" value="44" 		name="pagos[dias3][1]" />
<input type="radio" value="si"		name="pagos[pg1][1]" />
<input type="radio" value="no"		name="pagos[pg1][1]" />
<br /><br />
<input type="text" value="6000" 	name="pagos[valor4][2]" />
<input type="text" value="0003" 	name="pagos[codigo5][2]" />
<input type="text" value="41" 		name="pagos[dias6][2]" />
<input type="radio" value="si"		name="pagos[pg2][2]" />
<input type="radio" value="no"		name="pagos[pg2][2]" />
<br /><br />
<input type="text" value="36000" 	name="pagos[valor7][3]" />
<input type="text" value="0006" 	name="pagos[codigo8][3]" />
<input type="text" value="36" 		name="pagos[dias9][3]" />
<input type="radio" value="si"		name="pagos[pg3][3]" />
<input type="radio" value="no"		name="pagos[pg3][3]" />
<input type="submit" value="enviar" />
</form> 
lo proceso asi:

Código PHP:
<?php

    
if($_POST['pagos']){
        
        foreach (
$_POST['pagos'] as $set)
        {
         foreach (
$set as $id => $value)
          {
            echo 
"Propiedad: $key, Indice: $id, Valor: $value".'<br>';
          }
        }  
        
    }

?>
y el resultado es esto:

Propiedad: , Indice: 1, Valor: 2000
Propiedad: , Indice: 1, Valor: 0001
Propiedad: , Indice: 1, Valor: 44
Propiedad: , Indice: 1, Valor: si
Propiedad: , Indice: 2, Valor: 6000
Propiedad: , Indice: 2, Valor: 0003
Propiedad: , Indice: 2, Valor: 41
Propiedad: , Indice: 2, Valor: si
Propiedad: , Indice: 3, Valor: 36000
Propiedad: , Indice: 3, Valor: 0006
Propiedad: , Indice: 3, Valor: 36
Propiedad: , Indice: 3, Valor: no

Hasta aqui, todo bien, ahora necesito que cada indice, 1,2,3, me ejecute un script, osea que los valores que tiene el indice 1 me los procese, y asi sucesivamente con los otros.

Gracias.
  #2 (permalink)  
Antiguo 23/06/2009, 10:04
Avatar de ACX_POISON  
Fecha de Ingreso: abril-2008
Ubicación: Talca-Chile
Mensajes: 750
Antigüedad: 16 años
Puntos: 7
Respuesta: Procesar formulario con inputs arrays multidimensionales

realiza el proceso dentro del ciclo......
__________________
Me junto con los que Saben, Queriendo Saber.
  #3 (permalink)  
Antiguo 23/06/2009, 10:10
 
Fecha de Ingreso: enero-2009
Mensajes: 24
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Procesar formulario con inputs arrays multidimensionales

Hola ACX_POISON no puedo hacer eso, ya que el ciclo se ejecula 12 veces, que son las veces de los resultados, para este ejemplo, necesito que el script se ejecute solo 3 veces, que serian las veces de los indices.
Gracias
  #4 (permalink)  
Antiguo 23/06/2009, 10:46
Avatar de ACX_POISON  
Fecha de Ingreso: abril-2008
Ubicación: Talca-Chile
Mensajes: 750
Antigüedad: 16 años
Puntos: 7
Respuesta: Procesar formulario con inputs arrays multidimensionales

si de antemano puedes saber el numero de indices seria mas facil

Código PHP:
 
        
for($x=1;$x<=$max_indice;$x++)
        {
            
$valor=$_POST["pagos$x"];

         foreach (
$valor as $id => $value)
          {
            echo 
"Propiedad: $key, Indice: $id, Valor: $value".'<br>';
          } 
serviría algo asi???
__________________
Me junto con los que Saben, Queriendo Saber.
  #5 (permalink)  
Antiguo 23/06/2009, 11:47
 
Fecha de Ingreso: enero-2009
Mensajes: 24
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Procesar formulario con inputs arrays multidimensionales

Viejo ACX_POISON muchisimas gracias por tu idea, era exactamente lo que necesitaba, me quedo asi:

Código PHP:
<?php

    
if($_POST['pagos']){
        
        foreach (
$_POST['pagos'] as $val){
            foreach (
$val as $id => $value){
                
$id_mayor[] = $id;
            }
        }
        
$ultimo count($id_mayor) - 1;
        
$ult $id_mayor[$ultimo];
        
        for(
$i=1$i<=$ult$i++){
            echo 
'Indice'.$i.'<br>';
            foreach (
$_POST['pagos'] as $val){
                foreach (
$val as $id => $value){
                    if(
$id == $i){
                        echo 
"Propiedad: $key, Indice: $id, Valor: $value".'<br>';
                    }
                }
            }
        }
        
    }

?>
Gracias!!!
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 13:54.