Autor Tema: Formularios y Arrays en PHP  (Leído 12742 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado mxgxw

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 5665
  • Starlet - 999cc
    • mxgxw
Formularios y Arrays en PHP
« : mayo 10, 2005, 09:41:05 pm »
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í:

Código: [Seleccionar]
<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:

Código: [Seleccionar]
<?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.


Desconectado NoeL

  • Administrator
  • The Communiter-
  • *
  • Mensajes: 3257
    • SvCommunity
Re: Formularios y Arrays en PHP
« Respuesta #1 : mayo 11, 2005, 08:48:16 am »
Bastante interesante.... :shock:

Desconectado LicH

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 6600
  • ¿are you tolerant enough to tolerate intolerance?
    • Sv Community
Re: Formularios y Arrays en PHP
« Respuesta #2 : mayo 11, 2005, 09:30:09 am »
suena interesante

naruto

  • Visitante
Re: Formularios y Arrays en PHP
« Respuesta #3 : mayo 16, 2005, 04:34:01 pm »
hey..mira...eso de PHP es komo PERL, porke lo ke yo he aprendido es PERL y ese lenguaje si ke es la ley kon STRINGS.....uya...kasi todo lo ke sea de despedazar STRINGS lo  hago en PERL!!!

Desconectado mxgxw

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 5665
  • Starlet - 999cc
    • mxgxw
Re: Formularios y Arrays en PHP
« Respuesta #4 : mayo 16, 2005, 10:37:33 pm »
Sii perl es lo mejor que hay para trabajar con cadenas :P jeje te ahorra un monton de tiempo cuando estas analizando archivos o cosas por el estilo...


Desconectado stuartlittle18

  • MiembrosReales
  • *
  • Mensajes: 20
  • Resurgiendo de las cenizas
Re: Formularios y Arrays en PHP
« Respuesta #5 : noviembre 21, 2006, 08:28:16 am »
Pues tu aporte esta muy bien explicado aunque tambien puedes hacerlo con una estructura for pero para ello necesitas obtener el numero de elementos del arreglo con la funcion COUNT y luego empezar desde 0 hasta el numero de elementos que devolvio la estructura for por ejemplo
 :evil:
Código: [Seleccionar]
<?php
// Obtenemos la variable del formulario:
$Cantidad COUNT($_POST['valores']);

// Mostramos los datos del arreglo haciendo uso de un for

for($i=0;$i<$Cantidad;$i++) 
{
    
// $i -> Es el indice del arreglo 
   
$Mostrar $_POST["valores"][$i];
   echo 
"$Mostrar<br>";
}
?>

De esta forma puedo recorrer cada uno de los valores y hacer lo que quiera con estos  :D

Modificado(mxgxw): Te agregue las etiquetas code al codigo.
« Última Modificación: noviembre 21, 2006, 08:38:41 am por mxgxw »
Cuando sepas una cosa sostén que la sabes; cuando no la sepas, confiesa que no la sabes. En eso está la característica del conocimiento y de la humilda! By lrivas®

Desconectado rdoggsv

  • Administrator
  • The Communiter-
  • *
  • Mensajes: 6530
  • "Once you go arch , u never go back"
    • SV CommunitY
Re: Formularios y Arrays en PHP
« Respuesta #6 : noviembre 21, 2006, 09:00:09 am »
la verdad tu respuesta tambien esta buena pero si lo queres optimizar mas simplemente tenes que hacer uso del foreach por ejemplo


foreach ( $_POST['valores'] as $valor ){
echo 
$valor;
}


Asi te asegurar que va a recorrer el arreglo sin problemas.

Desconectado stuartlittle18

  • MiembrosReales
  • *
  • Mensajes: 20
  • Resurgiendo de las cenizas
Re: Formularios y Arrays en PHP
« Respuesta #7 : noviembre 27, 2006, 02:32:58 pm »
gracias mxgxw  :thumbsup: es que yo soy nuevo en esto del foro jeje y pues tenes razon rdoggsv se puede utilizar con un foreach  :thumbsup:
Cuando sepas una cosa sostén que la sabes; cuando no la sepas, confiesa que no la sabes. En eso está la característica del conocimiento y de la humilda! By lrivas®