Jump to content

[SOLVED] Product Attributes


holladb

Recommended Posts

Hey fellas. I have a shopping cart script and i need to add product attributes.

 

I have the attributes added to a separate array from the cart items. The color attribute is going in fine. The only problem is displaying.

 

My problem:

Say you added a product called 1F with the color yellow, you go back and add 2F with the color black.

 

In your cart now you see:

1F - Yellow : price

1F - Black : price

2f - Yellow : price

2f  - Black : price

 

Does anybody have an idea of how i can properly display my attributes or have a better way of doing this!

 

function showCart() {
global $db;
$cart = $_SESSION['cart'];
$attributes = $_SESSION['attributes'];
print($attributes);
if ($cart) {
	$items = explode(',',$cart);
	$contents = array();
	foreach ($items as $item) {
		$contents[$item] = (isset($contents[$item])) ? $contents[$item] + 1 : 1;
	}
	$at = explode(',',$attributes);
	$content = array();
	foreach ($at as $a) {
		$content[$a] = (isset($content[$a])) ? $content[$a] + 1 : 1;
	}
	$output[] = '<form action="cart.php?action=update" method="post" id="cart">';
	$output[] = '<table>';
	foreach ($contents as $id=>$qty) {
		foreach ($content as $att=>$qty2) {
		$sql = 'SELECT * FROM products WHERE cereal = '.$id;
		$result = $db->query($sql);
		$row = $result->fetch();
		extract($row);
		$output[] = '<tr>';
		$output[] = '<td><a href="cart.php?action=delete&id='.$id.'" class="r">Remove</a></td>';
		$output[] = '<td>'.$row['itemcode'].' - '.$att.'</td>';
		$output[] = '<td>$'.$row['pricemiddle'].'</td>';
		$output[] = '<td><input type="text" name="qty'.$id.'" value="'.$qty.'" size="3" maxlength="3" /></td>';
		$output[] = '<td>$'.($row['pricemiddle'] * $qty).'</td>';
		$total += $row['pricemiddle'] * $qty;
		$output[] = '</tr>';
		}
	}
	$output[] = '</table>';
	$output[] = '<p>Grand total: <strong>$'.$total.'</strong></p>';
	$output[] = '<div><input type="image" src="images/buttons/update.gif" border="0"> <a href="checkout.php"><img src="images/buttons/checkout.gif" border="0"></a></div>';
	$output[] = '</form>';
} else {
	$output[] = '<p>Your shopping cart is empty.</p>';
}
return join('',$output);
}

Link to comment
Share on other sites

i just thought about this a little bit, what if i put all of the data into 1 array...

 

like

$do = array(1F-Black-167,2F-Yellow-192);
//and explode it 
$it = explode(',',$do);
foreach($it as $i) {
$new = explode('-',$i);
echo $new; 
}

 

But how would i get it to explode that data and set each $new as a separate variable?

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.