Foros del Web » Programando para Internet » PHP »

Guardar valor de formulario en un arreglo PHP

Estas en el tema de Guardar valor de formulario en un arreglo PHP en el foro de PHP en Foros del Web. Hola a todos!!!! Tengo un gran dilema y ya no se como resolverlo. estoy generando unos tableros de control y para actualizar los datos se ...
  #1 (permalink)  
Antiguo 16/02/2012, 19:37
 
Fecha de Ingreso: octubre-2006
Ubicación: Xoxocotla, Morelos Mexico
Mensajes: 243
Antigüedad: 18 años, 1 mes
Puntos: 0
Guardar valor de formulario en un arreglo PHP

Hola a todos!!!!

Tengo un gran dilema y ya no se como resolverlo.

estoy generando unos tableros de control y para actualizar los datos se me ocurrió pintar una tabla de forma dinámica con cada una de los registros a modificar, cada fila de la tabla esta compuesta por 3 columnas (estado, municipio, cuadro de texto).

Digo que es dinámica porque lo primero que se hace es elegir una región del país, cada región tiene cierta cantidad de estados y cada estado cierta cantidad de provincias (todo esto esta en una base de datos mysql)

entonces dependiendo la región que elijas muestra la tabla con el numero de filas (una para cada municipio).

Lo que quiero es guardar el valor de cada uno de esos campos de texto en un arreglo para después guardar esos valores en la base de datos.

El arreglo estará compuesto en las posiciones pares (incluida el 0) el id del municipio y en las posiciones impares el valor del cuadro de texto (array[0]->id_municipio1,array[1]->valor1,array[2]->id_municipio2,array[3]->valor2....)

Alguien sabe como puedo hacer esto?? asignarle el valor del id del municipio si lo puedo hacer pero el valor del cuadro de texto no :(

Acepto todo tipo de sugerencias.

Gracias!!!
  #2 (permalink)  
Antiguo 17/02/2012, 00:38
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 14 años, 2 meses
Puntos: 331
Respuesta: Guardar valor de formulario en un arreglo PHP

La primera sugerencia es un tutorial de formularios.
La segunda es que cuando creas la tabla/formulario "dinamicamente", los campos pueden llevar un prefijo o id por ejemplo 1_id_municipio1, 1_idmunicipio2, etc.. Al recoger el formulario por $_POST puedes extraer del array toda la info que necesitas. Saludos,
__________________
Fere libenter homines, id quod volunt, credunt.
  #3 (permalink)  
Antiguo 17/02/2012, 01:59
Avatar de alvidales  
Fecha de Ingreso: febrero-2012
Mensajes: 108
Antigüedad: 12 años, 9 meses
Puntos: 11
Respuesta: Guardar valor de formulario en un arreglo PHP

Bueno, a lo que entendi quieres mandar un arreglo con todos los municipios selecionados o bien con todos los municipios de la región que seleccionaste?.

con los inputs puedes utilizar en el parametro "name" un indicador que es arreglo, ejemplo:

Código:
<input type="text" name="municipio[][<?php echo $idMunicipio; ?>]" />
prueba con el siguiente codigo, espero te sirva de algo :):

Código:
<?php
if (isset($_POST['municipio'])) {
    $arr = array();
    foreach ($_POST['municipio'] as $value){
        foreach($value as $llave=>$valor){
            $arr[$llave] = $valor;
        }
    }
    echo "<pre>";
    print_r($arr);
    echo "</pre>";
}
$municipio = 6;
?>
<form action="" method="post">
    <?php
    for ($i = 0; $i <= 5; $i++) {
        ?>
        <input type="text" name="municipio[][<?php echo $municipio; ?>]"/>
        <?php
        ++$municipio;
    }
    ?>
    <input type="submit" value="Enviar">
</form>

Última edición por alvidales; 17/02/2012 a las 02:00 Razón: correción en el codigo
  #4 (permalink)  
Antiguo 20/02/2012, 12:36
 
Fecha de Ingreso: octubre-2006
Ubicación: Xoxocotla, Morelos Mexico
Mensajes: 243
Antigüedad: 18 años, 1 mes
Puntos: 0
Respuesta: Guardar valor de formulario en un arreglo PHP

Mmmm, creo que no me explique bien, XD

Lo que quiero hacer es lo mismo que hace el PHP MyAdmin, que puedes elegir varios registros de una tabla, muestra todos con los datos actuales y puedes haces modificaciones a los campos y cuando le das clic guardar, te hace todos los cambios.

Gracias por las opciones...
  #5 (permalink)  
Antiguo 20/02/2012, 19:16
 
Fecha de Ingreso: octubre-2006
Ubicación: Xoxocotla, Morelos Mexico
Mensajes: 243
Antigüedad: 18 años, 1 mes
Puntos: 0
Respuesta: Guardar valor de formulario en un arreglo PHP

he avanzado un poco en la búsqueda de la solución, ya envío un arreglo con los id_municipio y una serie de variables con el valor a modificar (esto lo veo con la función print_r($_REQUEST); ) la cual me arroja el siguiente resultado:


Array
(
[0] => 2
[1] => 2
[2] => 2
[3] => 2
[4] => 2
[5] => 2
[6] => 2
[7] => 2
[8] => 0
[9] => 5
[10] => 5
[11] => 4
[12] => 4
[13] => 4
[14] => 2
[15] => 2
[16] => 2
[17] => 3
[18] => 3
[19] => 3
[20] => 3
[21] => 21
[22] => 1
[23] => 1
[24] => 1
[25] => 1
[26] => 0
[27] => 0
[28] => 0
[29] => 0
[30] => 0
[31] => 0
[32] => 0
[id_municipio] => a:33:{i:0;i:18;i:1;i:19;i:2;i:20;i:3;i:21;i:4;i:22 ;i:5;i:23;i:6;i:24;i:7;i:25;i:8;i:32;i:9;i:43;i:10 ;i:44;i:11;i:45;i:12;i:46;i:13;i:47;i:14;i:64;i:15 ;i:65;i:16;i:66;i:17;i:67;i:18;i:78;i:19;i:79;i:20 ;i:80;i:21;i:87;i:22;i:89;i:23;i:91;i:24;i:92;i:25 ;i:93;i:26;i:94;i:27;i:96;i:28;i:97;i:29;i:98;i:30 ;i:99;i:31;i:100;i:32;i:101;}
[enviar] => Enviar
)

el array de id_municipio lo mando desde el formulario en una variable serializada (serialize(id_municipio)), lo recibo en mi nuevo script y le aplico unserialize(id_municipio) y me restaura mi arreglo con lo cual ya puedo tener el id de todos los municipios.

Ahora quiero "ligar" el id_municipio[1] con el valor de mi variable [0], es decir el id_municipio[0] tiene el valor 2, el id_municipio[10] tiene el valor 5.

Como hago eso?? como obtengo el valor de la variable [0], [1], [2]......[32] con eso se solucionaría mi problema.

Gracias!!!!
  #6 (permalink)  
Antiguo 20/02/2012, 19:41
 
Fecha de Ingreso: octubre-2006
Ubicación: Xoxocotla, Morelos Mexico
Mensajes: 243
Antigüedad: 18 años, 1 mes
Puntos: 0
Respuesta: Guardar valor de formulario en un arreglo PHP

Ok ya lo resolví... creo.... jejejeje, hago un ciclo for() para recibir esas variables y almacenarlas en un array

$num = count($id_municipio);

for($i=0;$i<=$num;$i++)
{
$val[$i] = $_POST[$i];
}

y con eso ya tengo dos arreglos numéricos del mismo tamaño, uno me da el id_municipio y el otro el valor, ahora creo que puedo ligar $id_municipio[0] tiene el valor $val[0] y con eso podre hacer mi insert a la BD tomando a la par un valor de $id_municipio y un valor de $val

Espero que me funcione, bueno esa fue la soluciona la que llegue de mi problema, gracias!!

Etiquetas: formulario, mysql, registro, tabla, arreglos
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 19:07.