Jump to content

Storefront Issue


twilitegxa

Recommended Posts

I have a script for a storefront, but the display items page is not working properly. Here is the entire code:

 

First page (seestore.php):

<?php
//connect to database
$conn = mysql_connect("localhost", "root", "")
or die(mysql_error());
mysql_select_db("smrpg",$conn) or die(mysql_error());

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

//show categories first
$get_cats = "select id, cat_title, cat_desc from
store_categories order by cat_title";
$get_cats_res = mysql_query($get_cats) or die(mysql_error());

if (mysql_num_rows($get_cats_res) < 1) {
$display_block = "<p><em>Sorry, no categories to browse.</em></p>";
} else {

while ($cats = mysql_fetch_array($get_cats_res)) {
$cat_id = $cats[id];
$cat_title = strtoupper(stripslashes($cats[cat_title]));
$cat_desc = stripslashes($cats[cat_desc]);

$display_block .= "<p><strong><a
href=\"$_SERVER[php_SELF]?cat_id=$cat_id\">$cat_title</a></strong>
<br />$cat_desc</p>";

if ($_GET[cat_id] == $cat_id) {
//get items
$get_items = "select id, item_title, item_price
from store_items where cat_id = $cat_id
order by item_title";
$get_items_res = mysql_query($get_items) or die(mysql_error());

if (mysql_num_rows($get_items_res) < 1) {
$display_block = "<p><em>Sorry, no items in this category.</em></p>";
} else {

$display_block .= "<ul>";

while ($items = mysql_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)";
}

$display_block .= "</ul>";
}
}
}
}
?>
<html>
<head>
<title>My Categories</title>
</head>
<body>
<?php print $display_block; ?>
</body>
</html>

 

And second page (showitem.php):

<?php
//connect to database
$conn = mysql_connect("localhost", "root", "")
or die(mysql_error());
mysql_select_db("smrpg",$conn) or die(mysql_error());

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

//validate item
$get_item = "select c.cat_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.cat_id where si.id = $_GET[item_id]";

$get_item_res = mysql_query($get_item) or die (mysql_error());

if (mysql_num_rows($get_item_res) < 1) {
//invalid item
$display_block .= "<p><em>Invalid item selection.</em></p>";
} else {
//valid item, get info
$cat_title = strtoupper(stripslashes(
mysql_result($get_item_res,0,'cat_title')));
$item_title = stripslashes(mysql_result($get_item_res,0,'item_title'));
$item_price = mysql_result($get_item_res,0,'item_price');
$item_desc = stripslashes(mysql_result($get_item_res,0,'item_desc'));
$item_image = mysql_result($get_item_res,0,'item_image');

//make breadcrumb trail
$display_block .= "<p><strong><em>You are viewing:</em><br>
<a href=\"seestore.php?cat_id=$cat_id\">$cat_title</a>
> $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>";


//get colors
$get_colors = "select item_color from store_item_color where
item_id = $item_id order by item_color";
$get_colors_res = mysql_query($get_colors) or die(mysql_error());

if (mysql_num_rows($get_colors_res) > 0) {

$display_block .= "<p><strong>Available Colors:</strong><br>";

while ($colors = mysql_fetch_array($get_colors_res)) {
$item_color = $colors['item_color'];

$display_block .= "$item_color<br>";
}
}

//get sizes
$get_sizes = "select item_size from store_item_size where
item_id = $item_id order by item_size";
$get_sizes_res = mysql_query($get_sizes) or die(mysql_error());

if (mysql_num_rows($get_sizes_res) > 0) {

$display_block .= "<p><strong>Available Sizes:</strong><br>";

while ($sizes = mysql_fetch_array($get_sizes_res)) {
$item_size = $sizes['item_size'];

$display_block .= "$item_size<br>";
}
}


$display_block .= "
</td>
</tr>
</table>";

}
?>
<html>
<head>
<title>My Store</title>
</head>
<body>
<?php print $display_block; ?>
</body>
</html>

 

This is the section displaying the problems:

 

//get colors
$get_colors = "select item_color from store_item_color where
item_id = $item_id order by item_color";
$get_colors_res = mysql_query($get_colors) or die(mysql_error());

if (mysql_num_rows($get_colors_res) > 0) {

$display_block .= "<p><strong>Available Colors:</strong><br>";

while ($colors = mysql_fetch_array($get_colors_res)) {
$item_color = $colors['item_color'];

$display_block .= "$item_color<br>";
}
}

//get sizes
$get_sizes = "select item_size from store_item_size where
item_id = $item_id order by item_size";
$get_sizes_res = mysql_query($get_sizes) or die(mysql_error());

if (mysql_num_rows($get_sizes_res) > 0) {

$display_block .= "<p><strong>Available Sizes:</strong><br>";

while ($sizes = mysql_fetch_array($get_sizes_res)) {
$item_size = $sizes['item_size'];

$display_block .= "$item_size<br>";
}
}

 

I just can't figure out why. Not sure if something is coded incorrectly on the first page, or if the actual problem is on the second page. If I take those lines out, the script works, but I need to display those lines, so I need the problem fixed. Any suggestions?

Link to comment
https://forums.phpfreaks.com/topic/125523-storefront-issue/
Share on other sites

No suggestions yet? It is saying there is a problem with the syntax near the line with 'order by item_color', if that helps anyone. And If I take that whole section out, it says the same thing about the line with 'order by item_size'.

Link to comment
https://forums.phpfreaks.com/topic/125523-storefront-issue/#findComment-649592
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • 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.