Foros del Web » Programando para Internet » PHP »

Obtencion de datos

Estas en el tema de Obtencion de datos en el foro de PHP en Foros del Web. Buenas, tengo un formulario el cual pregunta x cuantos campos kieres buscar, (ej: si le dices 3 campos, te coloca 3 combos y 3 text), ...
  #1 (permalink)  
Antiguo 18/07/2005, 12:47
 
Fecha de Ingreso: diciembre-2003
Ubicación: Málaga
Mensajes: 495
Antigüedad: 14 años
Puntos: 0
Obtencion de datos

Buenas, tengo un formulario el cual pregunta x cuantos campos kieres buscar, (ej: si le dices 3 campos, te coloca 3 combos y 3 text), depediendo d la cantdad q le pongas asi tantas veces te aparecera.Bueno mi problema es el siguiente, eso lo he echo con un bucle la obtencion de campos

<select name=a$cont>
<input type="text" name=b$cont>

$cont es un contado q le puesto adicional.

El problema q tengo es k cuando mando esas variables al siguiente formulario para recogerlas como lo puedo hacer? pq con el ejemplo q he puesto seria

a1, b1.
a2, b2.
a3, b3.

Como se podria hacer?
  #2 (permalink)  
Antiguo 18/07/2005, 17:53
Avatar de hieloverde  
Fecha de Ingreso: julio-2005
Ubicación: México, D.F
Mensajes: 467
Antigüedad: 12 años, 5 meses
Puntos: 5
Hola,

oye el numero de selects y de texts es el mismo o sea son pares?

Pues se me ocurre que podrias hacer lo siguiente, imagino que en la variable $cont tienes el numero que tu usuario puso o sea el numero de select y text que quiere, no es asi? bueno primero manda el valor de $cont a otra variable para que a $cont la puedas modificar para los nombres de los inputs algo asi

$cont = $max; // aqui se guarda el maximo de elementos

y a $max lo pones al final del form como un hidden "oculto"

y luego en la pagina que quieras que reciba los resultados pon esto:

Código PHP:
<?php

$max 
$_GET['max']; // variable con el maximo de inputs
$reg 1;

while (
$reg <= $max) {
$i = list ($Key$Value) = each($_GET);
$select[$reg] = $Value;
$i = list ($Key$Value) = each($_GET);
$text[$reg] = $Value;
$reg++
}

?>
Al final vas a obtener dos arrays numerados del 1 al maximo de select y de text

en $select tienes los valores de todos los select y en $text todos los valores de los text, pero con claves numericas

Ej: $text[1], $text[2] .....
lo mismo $select[1], $select[2]..... hasta el maximo

me explico?

Dime si te funciona o si algo te falta.

Saludos

Última edición por hieloverde; 18/07/2005 a las 18:06
  #3 (permalink)  
Antiguo 19/07/2005, 04:32
 
Fecha de Ingreso: diciembre-2003
Ubicación: Málaga
Mensajes: 495
Antigüedad: 14 años
Puntos: 0
lo he probado y no me funciona :S


while ($reg <= $max)
{
$i = list ($Key, $Value) = each($_POST);
$select[$reg] = $Value;
$i = list ($Key, $Value) = each($_POST);
$text[$reg] = $Value;
$reg++;
echo $text[$reg];
echo $select[$reg];
}

No me sale nada a la hora d mostrarlo :S.
  #4 (permalink)  
Antiguo 19/07/2005, 11:19
Avatar de hieloverde  
Fecha de Ingreso: julio-2005
Ubicación: México, D.F
Mensajes: 467
Antigüedad: 12 años, 5 meses
Puntos: 5
Bueno, tu los quieres poner de inmediato en pantalla verdad, bueno ponle esto:

antes que nada en el formulario donde generas los inputs dependiendo del numero que ponga tu usuario, tienes que mandar este valor al segundo formulario en un campo oculto por ejemplo si tu user pone 5 entonces $max = 5
o sea 5 select y 5 text

Código PHP:
<? $cont $max?>

esto al final del form 
<input type="hidden" name="max" value="$max">
<input type="submit" name="enviar" value="Enviar">
ya sabes este codigo va a donde quieres recibir los valores

Código PHP:
<?
$max 
$_GET['max']; // variable con el maximo de inputs 
$reg 1

while (
$reg <= $max) { 
$i = list ($Key$Value) = each($_GET); 
$select[$reg] = $Value
$i = list ($Key$Value) = each($_GET); 
$text[$reg] = $Value
echo(
"<p>este es el valor del select $reg: "$select[$reg] );
echo(
"<br> este es el valor de text $reg: "$text[$reg] );
$reg++;   
}
?>
Esto te va a poner en pantalla los valores numerados de todos los campos select y text de esta manera

este es el valor del select 1: "valor"
este es el valor del text 1: "valor"

el punto es alimentar al bucle con el numero para saber donde ya no son los campos que tu no quieres que obtenga, obiamente con los dos arrays con los valores tu puedes utilizarlos para lo que sea, donde necesitas los valores

Esto seguro te va a funcionar, de hecho lo probe ya y trabaja bien

Pruebalo y me avisas ok

Saludos
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 14:52.