twilitegxa Posted September 23, 2008 Share Posted September 23, 2008 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 More sharing options...
twilitegxa Posted September 24, 2008 Author Share Posted September 24, 2008 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 More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.