Foros del Web » Programando para Internet » PHP »

Como cargar datos de un formulario en una matriz?

Estas en el tema de Como cargar datos de un formulario en una matriz? en el foro de PHP en Foros del Web. Hola, Tengo un formulario como con 20 campos y necesito cargarlos en una matriz. En el codigo HTML los identifica de la siguiente manera: <td><input ...
  #1 (permalink)  
Antiguo 10/07/2004, 10:58
 
Fecha de Ingreso: junio-2004
Ubicación: Ciudad de Panama
Mensajes: 551
Antigüedad: 19 años, 10 meses
Puntos: 8
Como cargar datos de un formulario en una matriz?

Hola,

Tengo un formulario como con 20 campos y necesito cargarlos en una matriz.

En el codigo HTML los identifica de la siguiente manera:

<td><input type=text name="c_consume" value="<? echo trim($mat_lin['c_consume']) ?>"></td>
<td><input type=text name="c_venta" value="<? echo trim($mat_lin['c_venta']) ?>"></td><tr>
<input type='submit' action='Actualizar' name='accion'>

En la funcion que me dispara el submit leo las variables como c_consume y c_venta:

<?php
echo $c_consume . " " . $c_venta;
.
.
.
?>

Lo que necesito es cargar estos valores a una matriz. Para este ejemplo son solo dos variables pero para mi aplicacion son como 20 a las que necesito realizar alguna validacion sobre la base de datos.

Se que la pregunta es como tonta, pero... Como lo hago?

Gracias
  #2 (permalink)  
Antiguo 10/07/2004, 15:58
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Suponiendo que tal vez uses un bucle para generar N grupos de:

bucle ()
<input type=text name="c_consume" value="<? echo trim($mat_lin['c_consume']) ?>">
<input type=text name="c_venta" value="<? echo trim($mat_lin['c_venta']) ?>">
}

Si llamas a tus variables del formulario como [] (array) .. así las podrás recoger en tu script PHP.

Código PHP:
bucle ()
<input type=text name="c_consume[]" value="<? echo trim($mat_lin['c_consume']) ?>">
<input type=text name="c_venta[]" value="<? echo trim($mat_lin['c_venta']) ?>">
}
En el script PHP podrías recolectar (recorrer) esos arrays con un bucle for() y usando de incice el mismo valor para ambos arrays (comenzando en cero).

Código PHP:
for ($indice=0$indice count ($_POST['c_venta']); $indice++){
echo 
$_POST['c_venta'][$indice];
// y lo mismo con el otro array ...

Si no usas esa sintax[] para tus "input" del formulario .. tendras que acceder a sus nombres por este .. Pero, aprovechando que tienes en PHP los arrays superglobales que definen qué variables vienen por "cual" método (method= del formulario ..) podrías recolectar la N variables de tu formulario (todas) con un bucle tipo:

Código PHP:
foreach ($_POST as $nombre_var => $valor){
   echo 
$nombre_var." = ".$valor."<br>";

No sé cual método necesitas .. pero lo principal es aprovechar y conocer que existen los arrays (superglobales o en su defecto los normales tipo $HTTP_xxx_VARS) para acceder a toda variable que viaje en ese método. Si asumes variables como "globales" ($nombre_input_formulario o link .. ) así no puedes disfrutar de estas ventajas de acceso de variables que no conoces por ejemplo ni que nombre van a tener ...

Un saludo,
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 23:22.