Foros del Web » Programando para Internet » PHP »

Como agrego mas ...? en este codigo

Estas en el tema de Como agrego mas ...? en este codigo en el foro de PHP en Foros del Web. <?php session_start(); session_register('itemsEnCesta'); if ($item){ if (!isset($itemsEnCesta)){ $itemsEnCesta[$item]=$cantidad; }else{ foreach($itemsEnCesta as $k => $v){ if ($item==$k){ $itemsEnCesta[$k]+=$cantidad; $encontrado=1; } } if (!$encontrado) $itemsEnCesta[$item]=$cantidad; } } ...
  #1 (permalink)  
Antiguo 05/03/2004, 13:13
 
Fecha de Ingreso: febrero-2004
Ubicación: Chillán
Mensajes: 35
Antigüedad: 20 años, 1 mes
Puntos: 0
Pregunta Como agrego mas ...? en este codigo

<?php
session_start();
session_register('itemsEnCesta');
if ($item){
if (!isset($itemsEnCesta)){
$itemsEnCesta[$item]=$cantidad;
}else{
foreach($itemsEnCesta as $k => $v){
if ($item==$k){
$itemsEnCesta[$k]+=$cantidad;
$encontrado=1;
}
}
if (!$encontrado) $itemsEnCesta[$item]=$cantidad;
}
}
?>
<html>
Quisiera saber como agrego mas valores a este carro, o sea, me permite guardar nombre del producto y cantidad, y yo quisiera agregarle categoria, tipo y otros datos mas.

En que parte hago las modificaciones, tirenme un salvavidas, gracias.

<body>
<tt>
<form action="<?=$PHP_SELF."?".SID?>" method="post">
Dime el producto <input type="text" name="item" size="20"><br>
Cuantas unidades <input type="text" name="cantidad" size="20"><br>
<input type="submit" value="Añadir a la cesta"><br>
</form>
<?
if (isset($itemsEnCesta)){
echo'El contenido de la cesta de la compra es:<br>';
foreach($itemsEnCesta as $k => $v){
echo 'Artículo: '.$k.' ud: '.$v.'<br>';
}
}
?>
</tt>
</body>
</html>
  #2 (permalink)  
Antiguo 05/03/2004, 14:02
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 6 meses
Puntos: 41
Lo recomendable es que siga funcionando tal como está.. o sea que sólo guarde en la sesión el id o nombre del producto y la cantidad,... el script ¿asume? que con ese nombre de producto (o ID) puedes acceder al resto de sus propiedades que estarán almacenadas en cualquier otro sitio (BD, .txt, etc)... no necesitas almacenar todo en la sesión.
Saludos
  #3 (permalink)  
Antiguo 05/03/2004, 14:11
 
Fecha de Ingreso: febrero-2004
Ubicación: Chillán
Mensajes: 35
Antigüedad: 20 años, 1 mes
Puntos: 0
No me sirve asi ya que el producto no se identifica solo por el nombre.

Gracias de todas maneras.
  #4 (permalink)  
Antiguo 05/03/2004, 14:28
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
No entendistes neogeo ...

Lo que te propone jpinedo es que con un sólo dato identificativo de ese producto como debiera ser ese "ID" del producto (que debe ser único e irrepetible) .. vas a hacer tu consulta a TU base de datos .. o tu txt o lo que sea cada vez que leas tu carrito de compra .. por lo menos para las propiedades de este "fijas" que se obtienen de tu base de datos.

En la sessión sólo deberías llevar ese ID del producto, cantidad y .. listo .. el precio lo podrías obtener de ese registro del producto.

Pero .. si quires llevar tus datos en una sesión (todos los de esos productos que estén en tu cesta) .. Usa arrays bidimiensionales. Date cuenta que al fin y al cabo lo que se gestiona es un array (en tu caso unidimensional) y se "propaga" por una sesión para que te quede disponible en todas las pàginas que la llames.

Tambien sería recomendable que usases los arrays superglobales $_SESSION para gestionar tus variables de sesión por tu seguridad.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 15:05.