If I have got 1 category and 2 sub categories and I tell it to list the products from the category it does NOT list the products from the sub categories so I have to then which out of the 3 has the most valued products to show my customers.
Take a look at the following code:
CODE
$new_products_query = tep_db_query(
"select p.products_id, p.products_image, p.products_tax_class_id, " .
"if(s.status, s.specials_new_products_price, p.products_price) as products_price " .
"from " . TABLE_PRODUCTS . " p left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id " .
", ". TABLE_PRODUCTS_TO_CATEGORIES . " p2c " .
"where p.products_id = p2c.products_id and products_status = '1' and p2c.categories_id = 40 " .
"order by rand() limit " . MAX_DISPLAY_NEW_PRODUCTS);
"select p.products_id, p.products_image, p.products_tax_class_id, " .
"if(s.status, s.specials_new_products_price, p.products_price) as products_price " .
"from " . TABLE_PRODUCTS . " p left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id " .
", ". TABLE_PRODUCTS_TO_CATEGORIES . " p2c " .
"where p.products_id = p2c.products_id and products_status = '1' and p2c.categories_id = 40 " .
"order by rand() limit " . MAX_DISPLAY_NEW_PRODUCTS);
The second from last line you will see the number 40, if I change this to say 1 or 2 or 8 etc it will show products from that category/sub category. How would I go about adding more then the 1 number so it looks for in a few categories and lists the products from each one?
OR
Better yet make the code so it lists the products in each sub category when I tell it to look in the main category. (would also like it to list products in sub sub categories)
Full code from the file is below:
CODE
<?php
/*
$Id: new_products.php,v 1.34 2003/06/09 22:49:58 hpdl Exp $
osCommerce, Open Source E-Commerce Solutions
http://www.oscommerce.com
Copyright (c) 2003 osCommerce
Released under the GNU General Public License
*/
?>
<!-- Comming Soon Start //-->
<?php
$info_box_contents = array();
$info_box_contents[] = array('text' => sprintf(TABLE_HEADING_CATEGORY_ONE, strftime('%B')));
new contentBoxHeading($info_box_contents);
if ( (!isset($new_products_category_id)) || ($new_products_category_id == '0') ) {
$new_products_query = tep_db_query(
"select p.products_id, p.products_image, p.products_tax_class_id, " .
"if(s.status, s.specials_new_products_price, p.products_price) as products_price " .
"from " . TABLE_PRODUCTS . " p left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id " .
", ". TABLE_PRODUCTS_TO_CATEGORIES . " p2c " .
"where p.products_id = p2c.products_id and products_status = '1' and p2c.categories_id = 1 " .
"order by rand() limit " . MAX_DISPLAY_NEW_PRODUCTS);
} else {
$new_products_query = tep_db_query("select distinct p.products_id, p.products_image, p.products_tax_class_id, if(s.status, s.specials_new_products_price, p.products_price) as products_price from " . TABLE_PRODUCTS . " p left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c, " . TABLE_CATEGORIES . " c where p.products_id = p2c.products_id and p2c.categories_id = c.categories_id and c.parent_id = '" . (int)$new_products_category_id . "' and p.products_status = '1' order by rand() limit " . MAX_DISPLAY_NEW_PRODUCTS);
}
$row = 0;
$col = 0;
$info_box_contents = array();
while ($new_products = tep_db_fetch_array($new_products_query)) {
$new_products['products_name'] = tep_get_products_name($new_products['products_id']);
$info_box_contents[$row][$col] = array('align' => 'center',
'params' => 'class="smallText" width="33%" valign="top"',
'text' => '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $new_products['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $new_products['products_image'], $new_products['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a><br><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $new_products['products_id']) . '">' . $new_products['products_name'] . '</a><br>' . $currencies->display_price($new_products['products_price'], tep_get_tax_rate($new_products['products_tax_class_id'])));
$col ++;
if ($col > 2) {
$col = 0;
$row ++;
}
}
new contentBox($info_box_contents);
?>
<!-- new_products_eof //-->
/*
$Id: new_products.php,v 1.34 2003/06/09 22:49:58 hpdl Exp $
osCommerce, Open Source E-Commerce Solutions
http://www.oscommerce.com
Copyright (c) 2003 osCommerce
Released under the GNU General Public License
*/
?>
<!-- Comming Soon Start //-->
<?php
$info_box_contents = array();
$info_box_contents[] = array('text' => sprintf(TABLE_HEADING_CATEGORY_ONE, strftime('%B')));
new contentBoxHeading($info_box_contents);
if ( (!isset($new_products_category_id)) || ($new_products_category_id == '0') ) {
$new_products_query = tep_db_query(
"select p.products_id, p.products_image, p.products_tax_class_id, " .
"if(s.status, s.specials_new_products_price, p.products_price) as products_price " .
"from " . TABLE_PRODUCTS . " p left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id " .
", ". TABLE_PRODUCTS_TO_CATEGORIES . " p2c " .
"where p.products_id = p2c.products_id and products_status = '1' and p2c.categories_id = 1 " .
"order by rand() limit " . MAX_DISPLAY_NEW_PRODUCTS);
} else {
$new_products_query = tep_db_query("select distinct p.products_id, p.products_image, p.products_tax_class_id, if(s.status, s.specials_new_products_price, p.products_price) as products_price from " . TABLE_PRODUCTS . " p left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c, " . TABLE_CATEGORIES . " c where p.products_id = p2c.products_id and p2c.categories_id = c.categories_id and c.parent_id = '" . (int)$new_products_category_id . "' and p.products_status = '1' order by rand() limit " . MAX_DISPLAY_NEW_PRODUCTS);
}
$row = 0;
$col = 0;
$info_box_contents = array();
while ($new_products = tep_db_fetch_array($new_products_query)) {
$new_products['products_name'] = tep_get_products_name($new_products['products_id']);
$info_box_contents[$row][$col] = array('align' => 'center',
'params' => 'class="smallText" width="33%" valign="top"',
'text' => '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $new_products['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $new_products['products_image'], $new_products['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a><br><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $new_products['products_id']) . '">' . $new_products['products_name'] . '</a><br>' . $currencies->display_price($new_products['products_price'], tep_get_tax_rate($new_products['products_tax_class_id'])));
$col ++;
if ($col > 2) {
$col = 0;
$row ++;
}
}
new contentBox($info_box_contents);
?>
<!-- new_products_eof //-->
