Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

FATAL ERROR help!


tropiland

Recommended Posts

I have three categories in my store:

1.Water Ionizers

2.Tankless Water Heaters

3.Towel warmers

 

1 and 3 work fine. When I click on 2 it takes a ton of time to load and when it does I get this message:

 

Fatal error: Maximum execution time of 30 seconds exceeded in /hsphere/local/home/tropilan/e-smartliving.com/catalog/includes/modules/new_products.php on line 57

 

here is the code of the new_products.php

<?php
/*
 $Id: new_products.php,v 1.35 2004/02/05 15:50:00 adf Exp $
 Randomize New Products
 $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
*/
?>
<!-- new_products //-->
<?php
 $info_box_contents = array();
 $info_box_contents[] = array('text' => sprintf(TABLE_HEADING_NEW_PRODUCTS, strftime('%B')));

 new contentBoxHeading($info_box_contents);

 if ( (!isset($new_products_category_id)) || ($new_products_category_id == '0') ) {
// start random new products
$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 where products_status = '1' order by p.products_date_added desc limit " . MAX_RANDOM_SELECT_NEW);
 } 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 p.products_date_added desc limit " . MAX_RANDOM_SELECT_NEW);
// end random new products	
 }
// start random new products
 // To configure:
 //
 // Under Admin - Configuration - Maximum Values
 // Set the following:
 //  'Selection of Random New Products' 
 //   (MAX_RANDOM_SELECT_NEW) - Sets how many of the most recent new product entries are queried
 //  'New Products Module'
 //   (MAX_DISPLAY_NEW_PRODUCTS) - Sets how many random new products are displayed on screen
 //
 $row = 0;
 $col = 0;
 $pCount = 0;
 $info_box_contents = array();
 $found_products = array();
 $num_rows = tep_db_num_rows($new_products_query);
 if (MAX_DISPLAY_NEW_PRODUCTS > MAX_RANDOM_SELECT_NEW) {
// don't allow more new products than will be queried
$max_new_products = MAX_RANDOM_SELECT_NEW;
 } else {
$max_new_products = MAX_DISPLAY_NEW_PRODUCTS;
 }
 if ($num_rows > 0) {		
while ($pCount < $max_new_products) {	
  // choose a random row 
  $random_product = '';
  $random_row = tep_rand(0, ($num_rows - 1));
  tep_db_data_seek($new_products_query, $random_row);
  $random_product = tep_db_fetch_array($new_products_query);
  // see if found already, if not use else skip
  $found = 0;
  for ($ii=0; $ii < $pCount; $ii++) {
	if ($found_products[$ii] == $random_product['products_id']) {
	  $found = 1;
	  break;
	}
  }
  if ($found == 0) {
	// keep track of found id's
	$found_products[$pCount] += $random_product['products_id'];
	$pCount ++; 
	// add to display array
	$random_product['products_name'] = tep_get_products_name($random_product['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=' . $random_product['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $random_product['products_image'], $random_product['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a><br><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $random_product['products_id']) . '">' . $random_product['products_name'] . '</a><br>' . $currencies->display_price($random_product['products_price'], tep_get_tax_rate($random_product['products_tax_class_id'])));
	$col ++;
	if ($col > 2) {
	  $col = 0;
	  $row ++;
	}
  } // found
} // while pCount
 } // num_rows  
// end random new products

 new contentBox($info_box_contents);
?>
<!-- new_products_eof //-->

 

 

Can someone help me make sense of it and how to fix it?

Link to comment
Share on other sites

The new_product.php have nothing to do with.If it takes too long to load check your dbase.Go to host vdec(or cpanel), then go to dbase settings and click on "check/repair" see if you have any warning there.If yu have warnign repair.See if that helps

Link to comment
Share on other sites

It means the script is running longer than the time allowed by the server. If it is only failing on the one category, then it might be the number of entries in that category or maybe a corrupt one. I would create a new category and start put the sub-categories and products into it to see when it fails.

 

Jack

Support Links:

For Hire: Contact me for anything you need help with for your shop: upgrading, hosting, repairs, code written, etc.

All of My Addons

Get the latest versions of my addons

Recommended SEO Addons

Link to comment
Share on other sites

Archived

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

×
×
  • Create New...