Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Random Specials


Guest

Recommended Posts

Posted

i?m using Special on Default contribution, however i need help to randomize the products because it only shows the latest 9 ones, and i have much more then that.

The code of my default_specials.php is :

 

<?php

/*

$Id: default_specials.php,v 2.0 2003/06/13

 

osCommerce, Open Source E-Commerce Solutions

http://www.oscommerce.com

 

Copyright © 2003 osCommerce

 

Released under the GNU General Public License

*/

?>

<!-- default_specials //-->

 

<tr>

</tr>

<tr>

<td><table border="0" width="100%" cellspacing="0" cellpadding="2">

<tr>

<?php

$info_box_contents = array();

$info_box_contents[] = array('align' => 'left', 'text' => sprintf(TABLE_HEADING_DEFAULT_SPECIALS, strftime('%B')));

new infoBoxHeading($info_box_contents, false, false, tep_href_link(FILENAME_SPECIALS));

 

if ( (!isset($new_products_category_id)) || ($new_products_category_id == '0') ) {

 

$new = tep_db_query("select p.products_id, pd.products_name, p.products_price, p.products_tax_class_id, p.products_image, s.specials_new_products_price from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_SPECIALS . " s where p.products_status = '1' and s.products_id = p.products_id and p.products_id = pd.products_id and pd.language_id = '" . $languages_id . "' and s.status = '1' order by s.specials_date_added DESC limit ". MAX_DISPLAY_SPECIAL_PRODUCTS);

} else {

$new = 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, s.specials_new_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' and s.status = '1' order by p.products_date_added desc limit " . MAX_DISPLAY_NEW_PRODUCTS);

}

 

 

$info_box_contents = array();

$row = 0;

$col = 0;

while ($default_specials = tep_db_fetch_array($new)) {

$default_specials['products_name'] = tep_get_products_name($default_specials['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=' . $default_specials["products_id"]) . '">' . tep_image(DIR_WS_IMAGES . $default_specials['products_image'], $default_specials['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a><br><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $default_specials['products_id']) . '">' . $default_specials['products_name'] . '</a><br><s>' . $currencies->display_price($default_specials['products_price'], tep_get_tax_rate($default_specials['products_tax_class_id'])) . '</s><br><span class="productSpecialPrice">' . $currencies->display_price($default_specials['specials_new_products_price'], tep_get_tax_rate($default_specials['products_tax_class_id'])) . '</span>');

$col ++;

if ($col > 2) {

$col = 0;

$row ++;

}

}

new contentBox($info_box_contents);

?>

 

<!-- default_specials_eof //-->

Posted

change your queries on the order by

 

instead of doing

order by s.specials_date_added desc

order by p.products_date_added desc

 

do this on both

 

order by rand()

Archived

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

×
×
  • Create New...