Foros del Web » Programando para Internet » PHP »

Capturar variables en array, y recorrerlos.

Estas en el tema de Capturar variables en array, y recorrerlos. en el foro de PHP en Foros del Web. 1. Tengo un formulario con 3 campos: Producto Precio Detalle El usuario irá cargando varias veces estos datos, por lo cual imaginaba generar un array ...
  #1 (permalink)  
Antiguo 07/08/2006, 22:56
 
Fecha de Ingreso: diciembre-2005
Mensajes: 354
Antigüedad: 18 años, 3 meses
Puntos: 0
Capturar variables en array, y recorrerlos.

1. Tengo un formulario con 3 campos:
Producto
Precio
Detalle

El usuario irá cargando varias veces estos datos, por lo cual imaginaba generar un array de dos dimensiones para guardar los datos de cada producto
Ej:

$_SESSION['producto']=array
(
$_POST["producto"] => array
(
"precio" => $_POST["precio"],
"detalle" => $_POST["detalle"]
),
);

Pero la verdad que no me sale, o no se que estoy haciendo mal.



2. Por otro lado, necesito ir recorriendo dicho array para mostrar lo que va cargando cada vez.


Soy muy malo en php, necesitaría que me lo expliquen como si fuera un niño de 5 años recién cumplidos
Mil gracias
  #2 (permalink)  
Antiguo 08/08/2006, 05:14
 
Fecha de Ingreso: febrero-2006
Mensajes: 297
Antigüedad: 18 años, 1 mes
Puntos: 1
Para crear el array: $array=array($producto=>array($precio ,$detalle));

$producto=$_POST['producto'];//producto recogido del formulario
$array[$producto] = array("precio"=>$_POST['precio'],"detalle"=>$_POST['detalle']);

En el producto elegido se meterá el precio y detalles introducidos en el formulario

Para eso el producto deberá ser un nombre o código que no se repita, ya que es como un identificador.

Y para mostrar:
$array[$producto]['detalle']; Y se mostrará el detalle de ese producto
$array[$producto]['precio']; Y se mostrará el precio de ese producto


Creo que lo puse bien. espero que te sirva!
  #3 (permalink)  
Antiguo 08/08/2006, 08:13
 
Fecha de Ingreso: diciembre-2005
Mensajes: 354
Antigüedad: 18 años, 3 meses
Puntos: 0
Gracias leeann por tu ayuda.

En la página que recoje los POST, me tira el siguiente error:

Warning: Illegal offset type in c:\apache\htdocs\oia\consola\presupuestos\modulos\ prueba.php on line 8


Te dejo como me quedó dicho script (la línea 8 es la segunda que aquí te dejo, la de $array[$_SESS...):
$_SESSION['producto'] = $_POST['codprod'];//producto recogido del formulario
$array[$_SESSION['producto']] = array("precio"=>$_POST['precio'],"detalle"=>$_POST['detalle']);




Por otro lado, a la hora de recorrer el array me tira el siguiente error:

Warning: Invalid argument supplied for foreach() in c:\apache\htdocs\oia\consola\presupuestos\alta_pre supuestos.php on line 116

El código que uso para recorrerlo es (la línea 116 es donde está el foreach):

foreach ($_SESSION['producto'] as $p_prod) {
echo $array[$p_prod]; . '<br>';
echo $array[$p_prod]['detalle']; . '<br>';
echo $array[$p_prod]['precio']; . '<br>';
}
  #4 (permalink)  
Antiguo 08/08/2006, 12:56
 
Fecha de Ingreso: diciembre-2005
Mensajes: 354
Antigüedad: 18 años, 3 meses
Puntos: 0
Alguna idea?

Gracias
  #5 (permalink)  
Antiguo 09/01/2008, 02:26
 
Fecha de Ingreso: diciembre-2007
Mensajes: 149
Antigüedad: 16 años, 4 meses
Puntos: 1
Re: Capturar variables en array, y recorrerlos.

Yo tengo el mismo problema alguien supo que erA?
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 01:35.