Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Top Sellers


martyjoe

Recommended Posts

Posted

using ms 2.2m1 version of osc. one of my categories are very popluar. i was wondering if there is a feature or contribution to make a top 30 selling titles.

 

example: home > comics

 

in the comics category, i would have a link called "Top 30". when the link is activated, it takes you to the top 30 selling titles. when you pick a title, it pulls up all items associated w/ that title.

 

home > comcis > top 30 > spiderman > [all items relating to spiderman].

 

anything like this?

 

newbie

marty hafner

Posted

Not sure if this is what you are looking for, but it may help.

 

I had this installed with my version, 2.2 MS2

 

<?php
/*
 $Id: best_sellers.php,v 1.21 2003/06/09 22:07:52 hpdl Exp $

 osCommerce, Open Source E-Commerce Solutions
 http://www.oscommerce.com

 Copyright (c) 2003 osCommerce

 Released under the GNU General Public License
*/

 if (isset($current_category_id) && ($current_category_id > 0)) {
   $best_sellers_query = tep_db_query("select distinct p.products_id, pd.products_name from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c, " . TABLE_CATEGORIES . " c where p.products_status = '1' and p.products_ordered > 0 and p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "' and p.products_id = p2c.products_id and p2c.categories_id = c.categories_id and '" . (int)$current_category_id . "' in (c.categories_id, c.parent_id) order by p.products_ordered desc, pd.products_name limit " . MAX_DISPLAY_BESTSELLERS);
 } else {
   $best_sellers_query = tep_db_query("select distinct p.products_id, pd.products_name from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_ordered > 0 and p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "' order by p.products_ordered desc, pd.products_name limit " . MAX_DISPLAY_BESTSELLERS);
 }

 if (tep_db_num_rows($best_sellers_query) >= MIN_DISPLAY_BESTSELLERS) {
?>
<!-- best_sellers //-->
         <tr>
           <td>
<?php
   $info_box_contents = array();
   $info_box_contents[] = array('text' => BOX_HEADING_BESTSELLERS);

   new infoBoxHeading($info_box_contents, false, false);

   $rows = 0;
   $bestsellers_list = '<table border="0" width="100%" cellspacing="0" cellpadding="1">';
   while ($best_sellers = tep_db_fetch_array($best_sellers_query)) {
     $rows++;
     $bestsellers_list .= '<tr><td class="infoBoxContents" valign="top">' . tep_row_number_format($rows) . '.</td><td class="infoBoxContents"><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $best_sellers['products_id']) . '">' . $best_sellers['products_name'] . '</a></td></tr>';
   }
   $bestsellers_list .= '</table>';

   $info_box_contents = array();
   $info_box_contents[] = array('text' => $bestsellers_list);

   new infoBox($info_box_contents);
?>
           </td>
         </tr>
<!-- best_sellers_eof //-->
<?php
 }
?>

 

 

I am not sure if you would have to make additional tables for the queries, not sure which your version came hard coded with, but I hope that helps.

 

its called best_sellers.php in my boxes folder.

Hope it gets you started if nothing else!

One of these days, I will actually understand what I just changed...

 

But reading the Manual DEFINATELY helps...

Archived

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

×
×
  • Create New...