Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

problems with products_listing.php


albundy

Recommended Posts

hi there,

 

i have problems with products_listing.php file which belongs to a template of monstertemplate. Everything works fine but if there are more then one page of products to show i get a blank page and the whole site hangs.

 

I have try to find the problem but can't find it. Maybe somebody here can look at the file and tell me what is wrong?

 

Thank you for your help

Marcel

 

source products_listing.php

 

<?php

/*

$Id: product_listing_col.php,v 1.1.1.1 2004/03/04 23:41:11 ccwjr Exp $

*/

 

$listing_sql = preg_replace('/pd\.products_name/i', 'pd.products_name, pd.products_description', $listing_sql);

 

$listing_split = new splitPageResults($listing_sql, MAX_DISPLAY_SEARCH_RESULTS, 'p.products_id');

 

if ( ($listing_split->number_of_rows > 0) && ( (PREV_NEXT_BAR_LOCATION == '1') || (PREV_NEXT_BAR_LOCATION == '3') ) ) {

?>

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

<tr>

<td class="smallText"><?php echo $listing_split->display_count(TEXT_DISPLAY_NUMBER_OF_PRODUCTS); ?></td>

<td class="smallText" align="right"><?php echo TEXT_RESULT_PAGE . ' ' . $listing_split->display_links(MAX_DISPLAY_PAGE_LINKS, tep_get_all_get_params(array('page', 'info', 'x', 'y'))); ?></td>

</tr>

</table>

<?php

}

$list_box_contents = array();

if ($listing_split->number_of_rows > 0) {

$listing_query = tep_db_query($listing_split->sql_query);

 

$row = 0;

$column = 0;

 

// Eversun mod for sppp

// while ($listing = tep_db_fetch_array($listing_query)) {

// $rows++;

$no_of_listings = tep_db_num_rows($listing_query);

 

if(!tep_session_is_registered('sppc_customer_group_id')) {

$customer_group_id = '0';

} else {

$customer_group_id = $sppc_customer_group_id;

}

 

while ($_listing = tep_db_fetch_array($listing_query)) {

$listing[] = $_listing;

$list_of_prdct_ids[] = $_listing['products_id'];

}

 

$select_list_of_prdct_ids = "products_id = '".$list_of_prdct_ids[0]."' ";

if ($no_of_listings > 1) {

for ($n = 1 ; $n < count($list_of_prdct_ids) ; $n++) {

$select_list_of_prdct_ids .= "or products_id = '".$list_of_prdct_ids[$n]."' ";

}

}

 

// get all product prices for products with the particular customer_group_id

// however not necessary for customer_group_id = 0

if ($customer_group_id != '0') {

$pg_query = tep_db_query("select pg.products_id, customers_group_price as price from " . TABLE_PRODUCTS_GROUPS . " pg where (".$select_list_of_prdct_ids.") and pg.customers_group_id = '".$customer_group_id."' ");

 

// $no_of_pg_products = tep_db_num_rows($pg_query) ;

while ($pg_array = tep_db_fetch_array($pg_query)) {

$new_prices[] = array ('products_id' => $pg_array['products_id'], 'products_price' => $pg_array['price'], 'specials_new_products_price' => '', 'final_price' => $pg_array['price']);

}

 

for ($x = 0; $x < $no_of_listings; $x++) {

// replace products prices with those from customers_group table

if(!empty($new_prices)) {

for ($i = 0; $i < count($new_prices); $i++) {

if( $listing[$x]['products_id'] == $new_prices[$i]['products_id'] ) {

$listing[$x]['products_price'] = $new_prices[$i]['products_price'];

$listing[$x]['final_price'] = $new_prices[$i]['final_price'];

}

}

} // end if(!empty($new_prices)

$listing[$x]['specials_new_products_price'] = ''; // makes sure that a retail specials price doesn't carry over to another customer group

$listing[$x]['final_price'] = $listing[$x]['products_price']; // final price should not be the retail special price

} // end for ($x = 0; $x < $no_of_listings; $x++)

} // end if ($customer_group_id != '0')

 

// an extra query is needed for all the specials

$specials_query = tep_db_query("select products_id, specials_new_products_price from " . TABLE_SPECIALS . " where (".$select_list_of_prdct_ids.") and status = '1' and customers_group_id = '" .$customer_group_id. "'");

while ($specials_array = tep_db_fetch_array($specials_query)) {

$new_s_prices[] = array ('products_id' => $specials_array['products_id'], 'products_price' => '', 'specials_new_products_price' => $specials_array['specials_new_products_price'] , 'final_price' => $specials_array['specials_new_products_price']);

}

 

// add the correct specials_new_products_price and replace final_price

for ($x = 0; $x < $no_of_listings; $x++) {

if(!empty($new_s_prices)) {

for ($i = 0; $i < count($new_s_prices); $i++) {

if( $listing[$x]['products_id'] == $new_s_prices[$i]['products_id'] ) {

$listing[$x]['specials_new_products_price'] = $new_s_prices[$i]['specials_new_products_price'];

$listing[$x]['final_price'] = $new_s_prices[$i]['final_price'];

}

}

} // end if(!empty($new_s_prices)

} // end for ($x = 0; $x < $no_of_listings; $x++)

 

for ($x = 0; $x < $no_of_listings; $x++) {

$rows++;

// Eversun mod for spp

$product_contents = array();

 

for ($col=0, $n=sizeof($column_list); $col<$n; $col++) {

$lc_align = '';

switch ($column_list[$col]) {

 

case 'PRODUCT_LIST_MODEL':

$lc_align = '';

// Eversun mod for spp

// $lc_text = ' ' . $listing['products_model'] . ' ';

// $lc_text = ' ' . $listing[$x]['products_model'] . ' ';

// Eversun mod for spp

break;

 

case 'PRODUCT_LIST_NAME':

$lc_align = '';

$lc_name = '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, ($cPath ? 'cPath=' . $cPath . '&' : '') . 'products_id=' . $listing[$x]['products_id']) . '" class=ml2>' . $listing[$x]['products_name'] . '</a> ';

$lc_link = tep_href_link(FILENAME_PRODUCT_INFO, ($cPath ? 'cPath=' . $cPath . '&' : '') . 'products_id=' . $listing[$x]['products_id']);

break;

 

case 'PRODUCT_LIST_MANUFACTURER':

$lc_align = '';

$lc_manu = ' <a href="' . tep_href_link(FILENAME_DEFAULT, 'manufacturers_id=' . $listing[$x]['manufacturers_id']) . '">' . $listing[$x]['manufacturers_name'] . '</a> ';

break;

 

case 'PRODUCT_LIST_PRICE':

$lc_align = 'right';

$pf->loadProduct($listing[$x]['products_id'],$languages_id);

$lc_price = preg_replace('/ /i', ' ', $pf->getPriceStringShort());

break;

 

case 'PRODUCT_LIST_QUANTITY':

$lc_align = 'right';

$lc_qty = ' ' . $listing[$x]['products_quantity'] . ' ';

break;

 

case 'PRODUCT_LIST_WEIGHT':

$lc_align = 'right';

$lc_weight = ' ' . $listing[$x]['products_weight'] . ' ';

break;

 

case 'PRODUCT_LIST_IMAGE':

if (isset($HTTP_GET_VARS['manufacturers_id'])) {

$lc_image = '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'manufacturers_id=' . $HTTP_GET_VARS['manufacturers_id'] . '&products_id=' . $listing[$x]['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $listing[$x]['products_image'], $listing[$x]['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT,'align="left" style="margin:0px 10px 0px 0px "') . '</a>';

} else {

$lc_image = '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, ($cPath ? 'cPath=' . $cPath . '&' : '') . 'products_id=' . $listing[$x]['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $listing[$x]['products_image'], $listing[$x]['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT,'align="left" style="margin:0px 10px 0px 0px "') . '</a> ';

}

break;

 

case 'PRODUCT_LIST_BUY_NOW':

$lc_align = 'center';

$lc_buy_now = '<a href="' . tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $listing[$x]['products_id']) . '" class="margin5">' . tep_template_image_button('button_in_cart.gif', IMAGE_BUTTON_BUY_NOW) . '</a>';

break;

}

$product_contents[] = $lc_text;

}

 

$lc_text = implode('<br>', $product_contents);

$list_box_contents[$row][$column] = array('id' => $listing[$x]['products_id'],

'description' => $listing[$x]['products_description'],

'align' => 'center',

'params' => 'class="productListing-data"',

'name' => $lc_name,

'image' => $lc_image,

'price' => $lc_price,

'weight' => $lc_weight,

'buy_now' => $lc_buy_now,

'manu' => $lc_manu,

'qty' => $lc_qty,

'text' => $lc_text,

'link' => $lc_link);

 

$column ++;

if ($column >= COLUMN_COUNT) {

$row ++;

$column = 0;

}

}

 

echo '<table cellspacing=0 cellpadding=0 width=100%>';

 

while(list($row_id, $row) = each($list_box_contents)){

while(list($cell_id, $cell) = each($row)){

 

 

echo '<tr><td>

<table border="0" cellpadding="0" cellspacing="0">

<tr>

<td>

 

<!--Products Image goes here//-->

 

<a href="' . $cell['link'] . '">' . $cell['image']. '</a>

 

</td>

<td><img alt="" src="'.DIR_WS_TEMPLATES . TEMPLATE_NAME.'/images/ch_r1.gif" style="margin:12px 4px 0 0;"></td>

<td><table border="0" cellpadding="0" cellspacing="0">

<tr><td class="deep">

<strong>

 

<!--Products Link goes here//-->

 

<a href="

 

 

 

' . $cell['link'] . '

 

 

">

<!--Products Name goes here//-->

 

 

'.$cell['name']. '

 

 

 

</a></strong><br><br style="line-height:5px;">

 

<!--Products Description goes here//-->

 

'.substr($cell['description'],0,25).'

 

 

 

<br><br style="line-height:9px;">

<b>

 

<!--Products Price goes here//-->

 

'.$cell['price'].'

 

 

</b><br><br style="line-height:9px;">

 

<!--Buttons go here SAME //-->

 

 

 

<a href="' . $cell['link'] . '" class="margin4" style="margin:0px 1px 0px 0px ">' . tep_image_button('small_view.gif') . '</a><a href="' . $cell['link']. 'action=buy_now' . '"style="margin-left:3px;">' .tep_image_button('button_in_cart.gif').'</a>

 

 

 

</td></tr>

</table></td>

</tr>

</table>

 

 

 

 

</td>

</tr>

<tr><td><img alt="" src="'.DIR_WS_TEMPLATES . TEMPLATE_NAME.'/images/spacer.gif" width="1" height="7"></td></tr>';

 

}

}

 

echo '</table>';

 

} else {

$list_box_contents = array();

$list_box_contents[0] = array('params' => 'class="productListing-odd"');

$list_box_contents[0] = array('params' => 'class="productListing-data"',

'text' => TEXT_NO_PRODUCTS);

new productListingBox($list_box_contents);

}

if ( ($listing_split->number_of_rows > 0) && ((PREV_NEXT_BAR_LOCATION == '2') || (PREV_NEXT_BAR_LOCATION == '3')) ) {

?>

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

<tr>

<td class="smallText"><?php echo $listing_split->display_count(TEXT_DISPLAY_NUMBER_OF_PRODUCTS); ?></td>

<td class="smallText" align="right"><?php echo TEXT_RESULT_PAGE . ' ' . $listing_split->display_links(MAX_DISPLAY_PAGE_LINKS, tep_get_all_get_params(array('page', 'info', 'x', 'y'))); ?></td>

</tr>

</table>

<?php

}

?>

Link to comment
Share on other sites

Archived

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

×
×
  • Create New...