problem with deleteing stuff from shopping carts

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
gumbo
Forum Newbie
Posts: 3
Joined: Mon Oct 29, 2007 11:29 am

problem with deleteing stuff from shopping carts

Post by gumbo »

feyd | Please use

Code: Select all

,

Code: Select all

and [syntax="..."] tags where appropriate when posting code. Your post has been edited to reflect how we'd like it posted. Please read:  [url=http://forums.devnetwork.net/viewtopic.php?t=21171]Posting Code in the Forums[/url] to learn how to do it too.[/color]


Hi New here so Hello to everyone,

I basically signed up to ask for help.  I have a shopping cart system and im using S_SESSION variables to hold what has been put into the shopping cart.  It's going great and can put as many products has I like in it.  The problem is when I try to remove the items it going wrong.  i have a quality system and that working, as well as moving the last and first prouct.  The problem is when I try to delete product number 5 from 10.  As anyone got code to help me do this.  This is what I have so far:

Code: Select all

<?php
/*
manu=".$manufacturer
product=".$product
size=".$size
*/

$manu = $_GET['manu'];
$product = $_GET['product'];
$size = $_GET['size'];

//print_r($_SESSION);

$numincart = $_SESSION['numincart'];

for($i=0;$i<$numincart;$i++)
{
	if (($manu == $_SESSION[$sid][$i]['manufacturer']) && ($product  == $_SESSION[$sid][$i]['product']) && ($size  == $_SESSION[$sid][$i]['size']))
	{
		if($_SESSION[$sid][$i]['quantity']  > 1)
		{
			echo("wrong place");
			$quantity = $_SESSION[$sid][$i]['quantity'];
			$quantity--;
			$_SESSION[$sid][$i]['quantity'] = $quantity;
		}
		else
		{
		// code here to take out product from array
			echo("wrong place 2");
			//	unset($_SESSION[$sid][$i]);								
				$array_pop = array_pop($_SESSION[$sid]);
				$_SESSION[$sid][$i]['id'] = $array_pop['id'];
				$_SESSION[$sid][$i]['product'] = $array_pop['product'];
				$_SESSION[$sid][$i]['stock_code'] = $array_pop['stock_code'];
				$_SESSION[$sid][$i]['price'] = $array_pop['price'];
				$_SESSION[$sid][$i]['manufacturer'] = $array_pop['manufacturer'];
				$_SESSION[$sid][$i]['quantity'] = $array_pop['quantity'];
				$_SESSION[$sid][$i]['size'] = $array_pop['size'];
				$numincart--;
				$_SESSION['numincart'] = $numincart;
		}	
	}
/*	else
	{
		echo("here");
		$array_pop = array_pop($_SESSION[$sid]);
		print_r($array_pop);
		$numincart--;
		$_SESSION['numincart'] = $numincart;	
	}
*/
}

?>

As you can see im holding the products in a array. normally using C\C++ I would just use a dynamic link list and redirect the pointer varible and malloc the removed product.


feyd | Please use

Code: Select all

,

Code: Select all

and [syntax="..."] tags where appropriate when posting code. Your post has been edited to reflect how we'd like it posted. Please read:  [url=http://forums.devnetwork.net/viewtopic.php?t=21171]Posting Code in the Forums[/url] to learn how to do it too.[/color]
User avatar
Christopher
Site Administrator
Posts: 13596
Joined: Wed Aug 25, 2004 7:54 pm
Location: New York, NY, US

Post by Christopher »

To delete an item from your cart in PHP you could unset() that element in the array. The session system will automatically update the data that is saved between requests.

Code: Select all

unset($_SESSION[$sid][$numincart]);
(#10850)
gumbo
Forum Newbie
Posts: 3
Joined: Mon Oct 29, 2007 11:29 am

Post by gumbo »

Thanks got it sorted now i believe. Ill keep the php tags in mind in the future. dint see the reply before I posted in the other topic, sorry.
Post Reply