Foros del Web » Programando para Internet » PHP »

sugerencia para carrito de compras

Estas en el tema de sugerencia para carrito de compras en el foro de PHP en Foros del Web. Hola a todos, tengo que implementar un carrito de compras, se me habia ocurrido hacerlo de la siguiente manera: Código PHP: <?php session_cache_limiter ( "nocache,private" ...
  #1 (permalink)  
Antiguo 08/01/2007, 06:38
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 1 mes
Puntos: 62
sugerencia para carrito de compras

Hola a todos, tengo que implementar un carrito de compras, se me habia ocurrido hacerlo de la siguiente manera:

Código PHP:
<?php
session_cache_limiter
("nocache,private");
session_start();
//
if($_GET["id_producto"])
 {
      
$id_producto=$_GET["id_producto"];
      
$_SESSION["carrito"][$id_producto]["cantidad"]=$_SESSION["carrito"][$id_producto]["cantidad"]+1;
 }
?>
y la parte del HTML:
Código HTML:
<a href="?id_producto=1">producto1</a>
<a href="?id_producto=2">producto2</a>
...
funciona bien ya que si los muestro salen, pero no se cuantos productos puede meter en el carrito entonces no se de donde a donde hacer el bucle para mostrar los productos.

Como puedo saber cuantos productos lleva introducidos?

Muchas gracias.
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #2 (permalink)  
Antiguo 08/01/2007, 07:24
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Re: sugerencia para carrito de compras

Ese código te dará error (y si no lo hace en pantalla es porque tenes mal configurado tus errores). Deberías hacer algo así:
Código PHP:

if( ! empty( $_GET["id_producto"] ) ) {
      
$id_producto=$_GET["id_producto"];
      
$cuantos = empty( $_SESSION["carrito"][$id_producto]["cantidad"] ) ? intval$_SESSION["carrito"][$id_producto]["cantidad"] );
      
$_SESSION["carrito"][$id_producto]["cantidad"]= $cuantos 1;

Para mostrar las cantidades todo lo que tenes que hacer es un foreach sobre este array:
Código PHP:
if( isset( $_SESSION["carrito"] ) && count$_SESSION["carrito"] ) > ){
    foreach( 
$_SESSION["carrito"] as $item ){
        echo 
$item["cantidad"];
    }

Ahora, al menos guarda una posición mas con el id del producto así podes acceder facilmente a esta (tal cual guardas cantidad). Cualquier duda consultala.
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #3 (permalink)  
Antiguo 08/01/2007, 08:22
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 1 mes
Puntos: 62
Re: sugerencia para carrito de compras

el problema es que no se como mostrar los id's de las cantidades, creo que tengo mal planteado el array, si me ayudais a estructurarlo, muchas gracias.
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #4 (permalink)  
Antiguo 08/01/2007, 08:41
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Re: sugerencia para carrito de compras

Claro, por eso te decia que le agregues otra posición:

Código PHP:
if( ! empty( $_GET["id_producto"] ) ) {
      
$id_producto=$_GET["id_producto"];
      
$cuantos = empty( $_SESSION["carrito"][$id_producto]["cantidad"] ) ? intval$_SESSION["carrito"][$id_producto]["cantidad"] );
      
$_SESSION["carrito"][$id_producto]["cantidad"]= $cuantos 1;
      
$_SESSION["carrito"][$id_producto]["id_producto"]= $id_producto;
}  

if( isset( 
$_SESSION["carrito"] ) && count$_SESSION["carrito"] ) > ){
    foreach( 
$_SESSION["carrito"] as $item ){
        echo 
$item["id_producto"] .": ".$item["cantidad"];
    }

Y si tenes otras propiedades del producto (talle, color, o lo que fuera) lo agregas de esa manera.
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #5 (permalink)  
Antiguo 08/01/2007, 09:03
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 1 mes
Puntos: 62
Re: sugerencia para carrito de compras

Código PHP:
$_SESSION["carrito"][$id_producto]["id_producto"]

no deberia ser:

$_SESSION["carrito"]["id_producto"][$id_producto]


no me estoy enpanando de nada, menudo lunes llevo.
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #6 (permalink)  
Antiguo 08/01/2007, 09:04
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Re: sugerencia para carrito de compras

No, es como te lo pase...no lo probaste?
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #7 (permalink)  
Antiguo 08/01/2007, 09:27
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 1 mes
Puntos: 62
De acuerdo Re: sugerencia para carrito de compras

Código PHP:
<?php
// sesinue hasi
session_cache_limiter("nocache,private");
session_start();
//
if( ! empty( $_GET["id_producto"] ) ) {
      
$id_producto=$_GET["id_producto"];
      
$cuantos = empty( $_SESSION["carrito"][$id_producto]["cantidad"] ) ? intval$_SESSION["carrito"][$id_producto]["cantidad"] );
      
$_SESSION["carrito"][$id_producto]["cantidad"]= $cuantos 1;
      
$_SESSION["carrito"][$id_producto]["id_producto"]= $id_producto;

?>
Código HTML:
<html>
<head>
</head>
<body>
<a href="?id_producto=1">producto1</a>
<a href="?id_producto=2">producto2</a>
<a href="?id_producto=9">producto9</a> 
Código PHP:
<?php 
if( isset( $_SESSION["carrito"] ) && count$_SESSION["carrito"] ) > ){
    foreach( 
$_SESSION["carrito"] as $item ){
        echo 
$item["id_producto"] .": ".$item["cantidad"];
    }

?>
Código HTML:
</body>
</html> 
si ya lo he puesto y funciona, ya lo he entendido, es por cada id_producto tenemos un id_producto y la cantidad, si es que me he liado porque hay 2 id_productos, pero nada asunto solucionado, muchisimas gracias.

valoracion excelente.
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #8 (permalink)  
Antiguo 08/01/2007, 10:01
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Re: sugerencia para carrito de compras

Claro, así es...Le puse id_producto, pero podes ponerle el nombre que mas te quede.
Y no hay por que ;)
__________________
Mi punto de partida es Que Bueno Lo Nuevo
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

SíEste tema le ha gustado a 3 personas




La zona horaria es GMT -6. Ahora son las 07:29.