Comunidad de diseño web y desarrollo en internet online

Problema Php, en carrito de comp hecho con session_start();

Citar            
MensajeEscrito el 29 Jul 2005 01:24 am
Quiero hacer un carrito de compras en php, hice el codigo usando el session_start(); todo me resulta bien, osea puedo agregrar productos y sus respectivas cantidades, tambien aumentar la cantidad de un producto determinado, pero no puedo eliminar un producto, solo he podido eliminar la cantidad del producto:

Les dejo el Link para k lo prueben

para borrar
http://andycord.cl/foro/carrito.php?item=POLLO5&action=delete

Para agregrar un producto
http://andycord.cl/foro/carrito.php?item=POLLO5&cantidad=10&action=write

item es el nombre del producto
cantidad es la cantidad del producto
y la action es onda write o delete, esas dos tengo.

para k prueben pueden cambiar los nombres de los productos y cantidades... les dejo el codigo... para k cachan kmo lo puedo hacer para borrar los productos....

<?php
session_start();
session_register('itemsEnCesta');
$item=$_GET['item'];
$cantidad=$_GET['cantidad'];
$itemsEnCesta=$_SESSION['itemsEnCesta'];
$action = $_GET['action'];

switch($action) {
case 'write' :

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;
}
}
$_SESSION['itemsEnCesta']=$itemsEnCesta;

break;

case 'delete' :
if ($item){
$itemsEnCesta[$item]= null;
}

break;
case 'end' :

break;
}

if (isset($itemsEnCesta)){
echo'El contenido de la cesta de la compra es:<br>';
foreach($itemsEnCesta as $k => $v){
echo 'Artículo: '.$k.' un: '.$v.'<br>';
}
}
else{echo 'Aun No Posee Productos en su Bolsa de Compra';}

?>

Por york3rs

Claber

561 de clabLevel

1 tutorial

Genero:Masculino  

LA___Chile

msie
Citar            
MensajeEscrito el 29 Jul 2005 07:44 am
Lo puedes especificar un poco mas?
Lo que quieres es que cada vez que le digas que borre te los borre todos? de uno en uno? o la cantidad que tu le digas?

Porque tu lo que haces es cargartelo todo.

Código :

case 'delete' :
if ($item){
$itemsEnCesta[$item]= null;
}

Por Mania

Claber

1716 de clabLevel

3 tutoriales
2 articulos

 

Astrub

firefox
Citar            
MensajeEscrito el 29 Jul 2005 07:02 pm

Mania escribió:

...

Código :

case 'delete' :
if ($item){
$itemsEnCesta[$item]= null;
}


es una buena idea, tambien seria una opción esto:

Código :

case 'delete' :
if ($item){
unset($itemsEnCesta[$item])
}

Por jhony192

791 de clabLevel

1 tutorial

Genero:Masculino  

Just Another Programmer

firefox
Citar            
MensajeEscrito el 29 Jul 2005 07:15 pm

Coderic escribió:

Mania escribió:

...

Código :

case 'delete' :
if ($item){
$itemsEnCesta[$item]= null;
}


es una buena idea, tambien seria una opción esto:

Código :

case 'delete' :
if ($item){
unset($itemsEnCesta[$item])
}



Si haci lo hice... :
case 'delete' :
if ($item){
$itemsEnCesta[$item]= null;
}

voy a probar con el "unset" pero que significa unset...
Ojala me funk :P
IGual Gracias

Por york3rs

Claber

561 de clabLevel

1 tutorial

Genero:Masculino  

LA___Chile

msie
Citar            
MensajeEscrito el 29 Jul 2005 07:35 pm
aa vakn... ya me funco...
Agradesido....

El "unset" era el k necesitaba.... :)
Vale cumpas....

Prueben uds...

Para agregrar un producto
http://andycord.cl/foro/carrito.php?item=POLLO5&cantidad=10&action=write

para borrar
http://andycord.cl/foro/carrito.php?item=POLLO5&action=delete

Por york3rs

Claber

561 de clabLevel

1 tutorial

Genero:Masculino  

LA___Chile

msie
Citar            
MensajeEscrito el 29 Jul 2005 08:04 pm
unset es para destruir variables...

Por Aoyama

BOFH

6224 de clabLevel

6 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Bastard Operators From Hell

Webdesigner & Developer, en mis ratos libres bebo café por litros.

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.