Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => PHP => Mensaje iniciado por: robertito_prado en 18 Junio 2012, 09:35 AM

Título: ¿Como puedo hacer un bucle que afecte al $get?
Publicado por: robertito_prado en 18 Junio 2012, 09:35 AM
Bueno yo quiero hacer algo que no estoy muy seguro de que se pueda hacer...
En mi formulario, con un bucle, he guardado nombres de inputs asi:
        <input type="text" name="variable_"+i   />

Y la i se va incrementando, entonces tendre variable_0, variable_1,variable_2,etc...
Pues bien, ahora queria recuperarlos con php, pero no se como...
He probado:
    echo $_GET['variable'+$a]; (la $a se va incrementando)

pero nada de nada... :(
Espero haberme explicado... :huh:
Agradeceria cualquier ayudita, gracias! :D

     
Título: Re: ¿Como puedo hacer un bucle que afecte al $get?
Publicado por: [u]nsigned en 18 Junio 2012, 15:40 PM
Podes usar foreach para serializar el la matrix $_GET, por ejemplo:

Código (php) [Seleccionar]
<?php
foreach($_GET as $item => $valor)
{
echo "<b>$item</b> es igual a <b>$valor</b>s<br/>";
}
?>


Saludos!!!
Título: Re: ¿Como puedo hacer un bucle que afecte al $get?
Publicado por: #!drvy en 18 Junio 2012, 16:30 PM
De todos modos, no necesitas un bucle para ir ascendiendo de numero en los inputs.

Basta con poner [] detrás del nombre.

Ejemplo
Código (html4strict) [Seleccionar]
<form action="get.php" method="GET">
  <input type="text" name="variable[]" value="valor1" />
  <input type="text" name="variable[]" value="valor2" />
  <input type="text" name="variable[]" value="valor3" />
  <input type="text" name="variable[]" value="valor4" />
  <input type="submit" />
</form>


Y básicamente lo que crea es un array con el nombre "variable" y dentro todos los valores.

Fíjate
Código (php) [Seleccionar]
<?php
print_r
($_GET['variable']);
?>


Devolvería
Código (php) [Seleccionar]
Array ( [0] => valor1 [1] => valor2 [2] => valor3 [3] => valor4 )

Saludos
Título: Re: ¿Como puedo hacer un bucle que afecte al $get?
Publicado por: it3r en 18 Junio 2012, 17:57 PM
tal como te dijo drvy | BSM lo mas practico seria hacerlo por array, pero si aun quieres intentarlo de la forma en que los estas haciendo creo que podrias de la sgte manera:


while(isset($_GET['variable_'.$i])){

++$i;
}


debería funcionar.

Saludos
Título: Re: ¿Como puedo hacer un bucle que afecte al $get?
Publicado por: robertito_prado en 19 Junio 2012, 10:47 AM
Gracias a todos, ya lo he solucionado...
Por si les interesa:
    <?php for ($b=0; $b<=$i; $b++){
            $a='variable_'.$b;
            $c='valor_'.$b;
            echo $_GET[$a]."&nbsp;".$_GET[$c]."<br>";   
         }
     ?>

Gracias de nuevo, un saludo! :D