Shopping cart problem

Hi !! i need some serious help here…this code make me crazy :’(

recently i have follow a tutorial about shopping cart, there is 2php file inside this (seestore.php & showitem.php).
In this tutorial, i have create 4 table
i) store_categories (id, badminton_title, badminton_desc)
ii) store_items (id, badminton_id, item_title, item_price, item_desc, item_image)
iii) store_items_size (item_id, item_size)
iv) store_items_color (item_id, item_color)

i have inserted values into each table. My problem now is, the 1st php (seestore.php) is working, it display the list, but there is problem in my 2nd php(showitem.php),the page cant show error. i have keep checking my coding but i still cant find where is my mistakes.
Below is my php script:

seestore.php

<?php
// connect to database
$mysqli = mysqli_connect("xxxxx","xxxxx","xxxxx","xxxxx");

$display_block = "<h1>Product Categories</h1>
<p><b>Select a category to see its items.</b></p>";


//show categories first
$get_badminton_sql = "SELECT id, badminton_title, badminton_desc FROM
						store_categories ORDER BY badminton_title";
$get_badminton_res = mysqli_query($mysqli, $get_badminton_sql)
						or die(mysqli_error($mysqli));

if (mysqli_num_rows ($get_badminton_res) < 1) {
	$display_block = "<p><em>Sorry, no categories to browse.</em></p>";
} else {
	while ($badminton = mysqli_fetch_array($get_badminton_res)) {
		$badminton_id = $badminton['id'];
		$badminton_title = strtoupper (stripslashes($badminton['badminton_title']));
		$badminton_desc = stripslashes($badminton['badminton_desc']);
		
		$display_block .="<p><strong><a href=\"".$_SERVER["PHP_SELF"].
		"?badminton_id=".$badminton_id."\">".$badminton_title."</a></strong><br/>"
		.$badminton_desc."</p>";
		
		if(isset($_GET["badminton_id"])) {
			if ($_GET["badminton_id"] == $badminton_id) {
			//get items
			$get_items_sql = "SELECT id, item_title, item_price FROM
							 store_items WHERE badminton_id = '".$badminton_id."'
							 ORDER BY item_title";
			$get_items_res = mysqli_query($mysqli, $get_items_sql)
							 or die(mysqli_error($mysqli));
			
			if (mysqli_num_rows($get_items_res)<1) {
				$display_block = "<p><em>Sorry, no items in this
									category.</em></p>";
			} else {
				$display_block .="<ul>";
				while ($items = mysqli_fetch_array ($get_items_res)) {
					$item_id = $items['id'];
					$item_title = stripslashes($items['item_title']);
					$item_price = $items['item_price'];
					
					$display_block .="<li><a href=\"showitem.php?
					item_id=".$item_id."\">".$item_title."</a>
					</strong>(\$".$item_price.")</li>";
				}
				$display_block .="</ul>";
			}
			//free results
			mysqli_free_result($get_items_res);
		}
	}
}
}
//free results
mysqli_free_result($get_badminton_res);
//close connection to MySQL
mysqli_close($mysqli);
?>
<html>
<head>
<title>My Categories</title>
</head>
<body>
<?php echo $display_block; ?>
</body>
</html>															

showitem.php

<?php  ///displaying page
//connect to database
$mysqli = mysqli_connect("xxxxx","xxxxx","xxxxx","xxxxx");

$display_block = "<h1>My Store - Item Detail</h1>";

//validate item (/////////// i don't really understand this part , and personally i think the error come from here)
$get_item_sql = "SELECT c.id as badminton_id, c.badminton_title, si.item_title,
				 si.item_price, si.item_desc, si.item_image FROM store_items 
				 AS si LEFT JOIN store_categories AS c on c.id = si.badminton_id
				 WHERE si.id = '".$_GET["item_id"]."'";
$get_item_res = mysqli_query($mysqli, $get_item_sql)
				or die(mysqli_error($mysqli));
				
if (mysqli_num_rows($get_item_res) <1) {
	//invalid item
	$display_block .="<p><em>Invalid item selection.</em></p>";
} else {
	//valid item, get info
	while ($item_info = mysqli_fetch_array($get_item_res)) {
		$badminton_id = $item_info['badminton_id'];
		$badminton_title = strtoupper(stripslashes($item_info['badminton_title']));
		$item_title = stripslashes($item_info['item_title']);
		$item_price = $item_info['item_price'];
		$item_desc = stripslashes($item_info['item_desc']);
		$item_image = $item_info['item_image'];
	}
	
	///make breadcrumb trail
	$display_block .=<p><strong><em>You are viewing:</em><br/>
	<a href=\"seestore.php?badminton_id=".$badminton_id."\">".$badminton_title."</a>
	&gt; ".$item_title."</strong></p>
	<table cellpadding=\"3\" cellspacing=\"3\">
	<tr>
	<td valign=\"middle\" align=\"center\">
	<img src=\"".$item_image."\"/></td>
	<td valign=\"middle\"><p><strong>Description:</strong><br/>".
	$item_desc."</p>
	<p><strong>Price:</strong> \$".$item_price."</p>";
	
	///free result
	mysqli_free_result($get_item_res);
	
	///get colors
	$get_colors_sql = "SELECT item_color FROM store_items_color WHERE
						item_id = '".$GET["item_id"]."' ORDER BY item_color";
	$get_colors_res = mysqli_query($mysqli, $get_colors_sql)
						or die(mysqli_error($mysqli));
	
	if (mysqli_num_rows($get_colors_res) >0) {
		$display_block .="<p><strong>Available Colors:</strong><br/>";
		while ($colors = mysqli_fetch_array($get_colors_res)) {
			item_color = $colors['item_color'];
			$display_block .=$item_color."<br/>";
	   }
	}
	//free result
	mysqli_free_result($get_colors_res);
	
	//get sizes
	$get_sizes_sql = "SELECT item_size FROM store_items_size WHERE
					  item_id = ".$_GET["item_id"]."ORDER BY item_size";
	$get_sizes_res = mysqli_query($mysqli, $get_sizes_sql)
					or die (mysqli_error($mysqli));
	
	if (mysqli_num_rows($get_sizes_res) >0) {
		$display_block .="<p><strong>Available Sizes:</strong><br/>";
		while ($sizes = mysqli_fetch_array ($get_sizes_res)) {
			$item_size = $sizes['item_size'];
			$display_block .=$item_size."<br/>";
		}
	}
	//free result
	mysqli_free_result($get_sizes_res);
	
	$display_block .="
	</td>
	</tr>
	</table>";
}
?>
<html>
<head>
<title>My Store</title>
</head>
<body>
<?php echo $display_block; ?>
</body>
</html>
	

Thanks for helping & sorry for bad English.

problem solved !!

missing a " in $display_block
and
missing $ on item_color

Thx

no problem anytime!! :stuck_out_tongue:

Sponsor our Newsletter | Privacy Policy | Terms of Service