Foros del Web » Programando para Internet » PHP »

Asignacion de GET a array

Estas en el tema de Asignacion de GET a array en el foro de PHP en Foros del Web. Mi consulta es la siguiente: estoy recibiendo una cantidad variable de datos. La cantidad esta determinada por $_GET['hidden'] y necesito asignar las variables obtenidas mediante ...
  #1 (permalink)  
Antiguo 18/04/2007, 13:36
 
Fecha de Ingreso: febrero-2004
Ubicación: En Copiapó
Mensajes: 52
Antigüedad: 20 años, 2 meses
Puntos: 0
Exclamación Asignacion de GET a array

Mi consulta es la siguiente: estoy recibiendo una cantidad variable de datos.
La cantidad esta determinada por $_GET['hidden'] y necesito asignar las variables obtenidas mediante _GET a una variable ej:

$cantidad_producto$i=$_GET['cantidad_producto$i']


. Favor corregir este codigo ya que me ha dado hartos dolores de cabeza y aun no encuentro una solución
Gracias

$num_lineas=$_GET['hidden'];
$cantidad_producto = array();
$codigo_producto = array();
$detalle_producto = array();
$valor_producto = array();

for ($i=1;$i<=$num_lineas;$i++)
{
$cantidad_producto[$i]= $_GET['cantidad_producto$i'];

$codigo_producto[$i]= $_GET['codigo_producto$i'];

$detalle_producto[$i]= $_GET['detalle_producto$i'];

$valor_producto[$i]= $_GET['valor_producto$i'];

echo $_GET['cantidad_producto$i'];
echo $_GET['codigo_producto$i'];
echo $_GET['detalle_producto$i'];
echo $_GET['valor_producto$i'];

}
  #2 (permalink)  
Antiguo 18/04/2007, 13:50
Avatar de gerson  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 481
Antigüedad: 19 años, 2 meses
Puntos: 4
Re: Asignacion de GET a array

Hola ozk4r lo correcto seria asi:
Código PHP:
$num_lineas=$_GET['hidden'];
$cantidad_producto = array();
$codigo_producto = array();
$detalle_producto = array();
$valor_producto = array();

for (
$i=1;$i<=$num_lineas;$i++)
{
    
$cantidad_producto[]= $_GET['cantidad_producto'][$i];
         
    
$codigo_producto[]= $_GET['codigo_producto'][$i];
        
    
$detalle_producto[]= $_GET['detalle_producto'][$i];
         
    
$valor_producto[]= $_GET['valor_producto'][$i];
    
    echo 
$_GET['cantidad_producto'][$i];
    echo 
$_GET['codigo_producto'][$i];
    echo 
$_GET['detalle_producto'][$i];
    echo 
$_GET['valor_producto'][$i];
        

saludos
__________________

  #3 (permalink)  
Antiguo 18/04/2007, 13:59
 
Fecha de Ingreso: febrero-2004
Ubicación: En Copiapó
Mensajes: 52
Antigüedad: 20 años, 2 meses
Puntos: 0
Re: Asignacion de GET a array

No funciona no me muestra nada en pantalla.

$num_lineas=$_GET['hidden'];
$cantidad_producto = array();
$codigo_producto = array();
$detalle_producto = array();
$valor_producto = array();

for ($i=1;$i<=$num_lineas;$i++)
{
$cantidad_producto[]= $_GET['cantidad_producto'][$i];

$codigo_producto[]= $_GET['codigo_producto'][$i];

$detalle_producto[]= $_GET['detalle_producto'][$i];

$valor_producto[]= $_GET['valor_producto'][$i];

echo $_GET['cantidad_producto'][$i];

}
  #4 (permalink)  
Antiguo 18/04/2007, 14:07
Avatar de gerson  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 481
Antigüedad: 19 años, 2 meses
Puntos: 4
Re: Asignacion de GET a array

Bueno acabe de ver porque no funciono,; dos cosas:
1 . $num_lineas=$_GET['hidden'] a que hace referencia?
2. modifique el valor de $num_lineas y en el for inicialize $i=0 puesto q las matrices empiezan de "0" (no en todos los casos).
Código PHP:
//$num_lineas=$_GET['hidden'];
$num_lineas=count($_GET['cantidad_producto']);
$cantidad_producto = array();
$codigo_producto = array();
$detalle_producto = array();
$valor_producto = array();

for (
$i=0;$i<$num_lineas;$i++)
{
    
$cantidad_producto[]= $_GET['cantidad_producto'][$i];
         
    
$codigo_producto[]= $_GET['codigo_producto'][$i];
        
    
$detalle_producto[]= $_GET['detalle_producto'][$i];
         
    
$valor_producto[]= $_GET['valor_producto'][$i];
    
    echo 
$_GET['cantidad_producto'][$i];
    echo 
$_GET['codigo_producto'][$i];
    echo 
$_GET['detalle_producto'][$i];
    echo 
$_GET['valor_producto'][$i];
        

__________________

  #5 (permalink)  
Antiguo 18/04/2007, 14:14
 
Fecha de Ingreso: febrero-2004
Ubicación: En Copiapó
Mensajes: 52
Antigüedad: 20 años, 2 meses
Puntos: 0
Re: Asignacion de GET a array

$num_lineas
es la cantidad de lineas totales

ejemplo:
suponiendo que estos son textfields que son generados dinamicamente

linea1
cantidad_producto1 codigo_producto1 detalle_producto1 valor_producto1

linea2
cantidad_producto2 codigo_producto2 detalle_producto2 valor_producto2

y asi sucesivamente esto depende de la cantidad de lineas que inserte el usuario

y el valor de la cantidad de las lineas queda guardado en el campo oculto hidden que se obtiene del $_GET['hidden']
__________________
:pirata:
  #6 (permalink)  
Antiguo 18/04/2007, 14:21
Avatar de gerson  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 481
Antigüedad: 19 años, 2 meses
Puntos: 4
Re: Asignacion de GET a array

Bueno supuse q tus nombres de tus campos(cuadro de textos) eran array.
Entonces vuelvo al inicio:
Código PHP:
$num_lineas=$_GET['hidden'];
$cantidad_producto = array();
$codigo_producto = array();
$detalle_producto = array();
$valor_producto = array();

for (
$i=1;$i<=$num_lineas;$i++)
{
    
$cantidad_producto[]= $_GET['cantidad_producto'.$i];
         
    
$codigo_producto[]= $_GET['codigo_producto'.$i];
        
    
$detalle_producto[]= $_GET['detalle_producto'.$i];
         
    
$valor_producto[]= $_GET['valor_producto'.$i];
    
    echo 
$_GET['cantidad_producto'.$i];
    echo 
$_GET['codigo_producto'.$i];
    echo 
$_GET['detalle_producto'.$i];
    echo 
$_GET['valor_producto'.$i];
        

__________________

  #7 (permalink)  
Antiguo 18/04/2007, 14:26
 
Fecha de Ingreso: febrero-2004
Ubicación: En Copiapó
Mensajes: 52
Antigüedad: 20 años, 2 meses
Puntos: 0
Re: Asignacion de GET a array

Gracias Gerson por corregirme.
y como diría Ana María Polo:
"CASO CERRADO!"
__________________
:pirata:
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 16:00.