Jump to content


Photo

help with online store product listing


  • Please log in to reply
1 reply to this topic

#1 stephdowney

stephdowney
  • New Members
  • Pip
  • Newbie
  • 5 posts

Posted 20 April 2006 - 03:19 PM

Hi I have 2 scripts.....1 which should list all categories in a database and one which should list all products belonging to the category but am getting an error ...here are the tables
CREATE TABLE `products` (
  `product_id` int(5) NOT NULL auto_increment,
  `product_name` varchar(50) NOT NULL default '',
  `cat_id` int(5) NOT NULL default '0',
  `description` text NOT NULL,
  `image` varchar(255) default NULL,
  `amount` float(10,2) NOT NULL default '0.00',
  PRIMARY KEY  (`product_id`)
) TYPE=MyISAM COMMENT='Table for collecting product data' AUTO_INCREMENT=3;

#
# Dumping data for table `products`
#

INSERT INTO `products` VALUES (1, 'blue dress', 2, '', NULL, '30.00');
INSERT INTO `products` VALUES (2, 'green skirt', 3, '', NULL, '20.00');
CREATE TABLE `category` (
  `id` int(5) NOT NULL auto_increment,
  `category_name` varchar(50) NOT NULL default '',
  `cat_description` text NOT NULL,
  PRIMARY KEY  (`id`)
) TYPE=MyISAM COMMENT='Table for product categary' AUTO_INCREMENT=8;

#
# Dumping data for table `category`
#

INSERT INTO `category` VALUES (1, 'shoes', '');
INSERT INTO `category` VALUES (2, 'dresses', '');
INSERT INTO `category` VALUES (3, 'skirts', '');
INSERT INTO `category` VALUES (4, 'jeans', '2006-04-13 16:19:03');
INSERT INTO `category` VALUES (5, 'shirt', '2006-04-19 16:59:05');
INSERT INTO `category` VALUES (6, 'test', '2006-04-20 11:59:59');
INSERT INTO `category` VALUES (7, 'yo', '2006-04-20 14:33:30');

here's my code
shop1.php
// query database, order alphebatically

$query ="SELECT * from category order by category_name ";
$result= mysql_query($query) or die
("Could not execute query : $query." . mysql_error());



while ($row = mysql_fetch_array($result))
{
$cat_id=$row['id'];
$cat_name = $row["category_name"];
$cat_description = $row["cat_description"];

echo "<li><b><a href=productlist.php?id=$cat_id>$cat_name</a></b> [ ";

// Now query products table to see how many listing in each category
if ($_GET['cat_id'] == $cat_id){
$get_items = "SELECT product_id, product_name, description FROM products WHERE id=$cat_id order by product_name";
$result = mysql_query($get_items)or die(mysql_error());

if (mysql_num_rows($result)<1){
$display_block = "<P>none</p>";
}else{
$display_block .="<ul>";

while($items = mysql_fetch_array($result)){
$product_id =$items['product_id'];
$product_name =$items['product_name'];
$description =$items['description'];

$display_block .="<li><a
href=\"productlist.php?item_id=$item_id>$product_name</a>
</strong> (\$$description)";
}
$display_block .="</ul>";
}
}
}

 
// Include the HTML footer file.
include_once ('includes/footer.html');
?>


and also
productlist.php

if(isset($cat_id))
{
$query = "SELECT * from products where cat_id='$cat_id' ";
}

// Check if there's a budget variable, output correct query

if(isset($budget))
{
$query ="SELECT * from products where amount < '$budget' ";
}

// If both variables are not present, output default query

if(!isset($budget) && !isset($cat_id))
{
$query = "SELECT * from products ";
} 

// execute query
$result= mysql_query($query) or die
("Could not execute query : $query." . mysql_error());

while ($row = mysql_fetch_array($result))
{
$id=$row["product_id"];
$name=$row["product_name"];
$cat_id=$row["cat_id"];
$image=$row["image"];
$dsc = $row["description"];
$amout=$row["amount"]; 

// query category table for category name.
$catquery = "SELECT category_name from category where id='$id' ";
$result2= mysql_query($catquery) or die
("Could not execute query : $catquery." . mysql_error());

$cname = mysql_fetch_array($result2);

// Now print out the catalog display

?><table cellspacing="1" cellpadding="1" border="0" align="center" width="90%">
<tr>
<td><b><?php echo "$name"; ?></b>
<p><?php echo "<b>Category: $cname[category_name]</b><br>$dsc"; ?></p>

<?php 
if (!(empty($image))) // image field is not empty
{ 
echo "<img src=$image border=0 alt=$name width=150 align=right>";
}
?>

<form target="paypal" action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="image" src="https://www.paypal.com/en_GB/i/btn/x-click-but22.gif" border="0" name="submit" alt="Make payments with PayPal - it's fast, free and secure!">
<img alt="" border="0" src="https://www.paypal.com/en_GB/i/scr/pixel.gif" width="1" height="1">
<input type="hidden" name="add" value="1">
<input type="hidden" name="cmd" value="_cart">
<input type="hidden" name="business" value="d1340101@qub.ac.uk">
<input type="hidden" name="item_name" value="green dress">
<input type="hidden" name="amount" value="20.00">
<input type="hidden" name="no_note" value="1">
<input type="hidden" name="currency_code" value="GBP">
<input type="hidden" name="lc" value="GB">
<input type="hidden" name="bn" value="PP-ShopCartBF">
</form>

</td></tr></table> 
<?php

} // end of while

?>
<?php // Include the HTML footer file.
include_once ('includes/footer.html');
?>

and i'm getting this error so far
Notice: Undefined index: cat_id in F:\13401017\website\12\html\shop1.php on line 35

totally stuck on this so anyhelp wud be much appreciated
thanks

EDIT BY OBER: PLEASE USE CODE TAGS WHEN POSTING CODE!

#2 ober

ober
  • Staff Alumni
  • Advanced Member
  • 5,337 posts
  • LocationEast Coast, USA

Posted 20 April 2006 - 03:58 PM

It would help if you told use what line #35 was. And please use code blocks when posting code.

Info: PHP Manual





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users