Bueno gente un día de estos alguien me preguntó como trabajar un problema interesante en PHP. Imaginense que tienen un formulario generado de N campos, es decir no conocen el numero de datos que van a recibir, y les interesa leer los datos de cada uno de estos.
Un ejemplo mas entendible, en una página piden una cantidad de numeros y en la siguiente presentan un formulario con la cantidad de numeros especificados, ahora imaginen que tienen que sacar el promedio de todo esto.
PHP tiene un truquito para hacer esto y tiene que ver mas con el formulario que con el lenguaje en si.
Lo primero que tenemos que hacer es meter en nuestro formulario el nombre del campo agregando al final el caracter [], así:
<form action="MyScript.php" method="post">
<input type="text" name="valores[]"> <br>
<input type="text" name="valores[]"> <br>
...
<input type="text" name="valores[]"> <br>
<input type="submit">
</form>
Una ves hecho el formulario necesitamos obtener todos estos valores en PHP, el procedimiento más simple es el siguiente:
<?php
// Obtenemos la variable del formulario:
$valores = $_POST['valores'];
// Mostramos los datos del arreglo haciendo uso de un foreach
foreach($valores as $i->$val) {
// $i -> Es el indice del arreglo de los datos
// $val -> Es el valor contenido en el arreglo
/*** TODO: Aquí va el codigo que trabaja con los datos ***/
}
?>
Esta es la forma más facil de capturar datos multiples enviados por formularios, las aplicaciones son muchas, por ejemplo para una página que maneje registros de base de datos pueden tener un campo de formulario oculto llamado "id[]" que se encargue de almacenar el Id respectivo de cada registro.