Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Random Error - not sure WHAT caused it though


lindsayanng

Recommended Posts

Posted

Ok, I am sorry that I can not tell you what I was doing when this error appeared, and I had tried a fix that I had found in the Tips and Tricks thread, but making those changes did not make a difference.

So this is the error:

 

Warning: Division by zero in /home/bscphoto/public_html/catalog/admin/includes/classes/split_page_results.php on line 40

1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'MAX_ADMIN_RESULTS' at line 1

 

select c.customers_firstname, c.customers_lastname, sum(op.products_quantity * op.final_price) as ordersum from customers c, orders_products op, orders o where c.customers_id = o.customers_id and o.orders_id = op.orders_id group by c.customers_firstname, c.customers_lastname order by ordersum DESC limit 0, MAX_ADMIN_RESULTS

 

[TEP STOP]

 

and this is the code for the split page class

<?php
/*
 $Id: split_page_results.php 1739 2007-12-20 00:52:16Z hpdl $

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

 Copyright (c) 2002 osCommerce

 Released under the GNU General Public License
*/

 class splitPageResults {

 function splitPageResults(&$current_page_number, $max_rows_per_page, &$sql_query, &$query_num_rows, $count_key = '*') {
  if (empty($current_page_number)) $current_page_number = 1;

  $pos_to = strlen($sql_query);
  $pos_from = stripos($sql_query, ' from', 0);

  $pos_group_by = stripos($sql_query, ' group by', $pos_from);
  if (($pos_group_by < $pos_to) && ($pos_group_by != false)) $pos_to = $pos_group_by;

  $pos_having = stripos($sql_query, ' having', $pos_from);
  if (($pos_having < $pos_to) && ($pos_having != false)) $pos_to = $pos_having;

  $pos_order_by = stripos($sql_query, ' order by', $pos_from);
  if (($pos_order_by < $pos_to) && ($pos_order_by != false)) $pos_to = $pos_order_by;

  if (stripos($sql_query, 'distinct') || stripos($sql_query, 'group by')) {
	$count_string = 'distinct ' . tep_db_input($count_key);
  } else {
	$count_string = tep_db_input($count_key);
  }	  

  $reviews_count_query = tep_db_query("select count(" . $count_string . ") as total " . substr($sql_query, $pos_from, ($pos_to - $pos_from)));
  $reviews_count = tep_db_fetch_array($reviews_count_query);
  $query_num_rows = $reviews_count['total'];

  $num_pages = ceil($query_num_rows / $max_rows_per_page);
  if ($current_page_number > $num_pages) {
	$current_page_number = $num_pages;
  }
 $offset = ($max_rows_per_page * ($current_page_number - 0));
 if ($offset < 0)
{
$offset = 0;
}
$sql_query .= " limit " . $offset . ", " . $max_rows_per_page;
}

function display_links($query_numrows, $max_rows_per_page, $max_page_links, $current_page_number, $parameters = '', $page_name = 'page') {
  global $PHP_SELF;

  if ( tep_not_null($parameters) && (substr($parameters, -1) != '&') ) $parameters .= '&';

// calculate number of pages needing links
  $num_pages = ceil($query_numrows / $max_rows_per_page);

  $pages_array = array();
  for ($i=1; $i<=$num_pages; $i++) {
	$pages_array[] = array('id' => $i, 'text' => $i);
  }

  if ($num_pages > 1) {
	$display_links = tep_draw_form('pages', basename($PHP_SELF), '', 'get');

	if ($current_page_number > 1) {
	  $display_links .= '<a href="' . tep_href_link(basename($PHP_SELF), $parameters . $page_name . '=' . ($current_page_number - 1), 'NONSSL') . '" class="splitPageLink">' . PREVNEXT_BUTTON_PREV . '</a>  ';
	} else {
	  $display_links .= PREVNEXT_BUTTON_PREV . '  ';
	}

	$display_links .= sprintf(TEXT_RESULT_PAGE, tep_draw_pull_down_menu($page_name, $pages_array, $current_page_number, 'onChange="this.form.submit();"'), $num_pages);

	if (($current_page_number < $num_pages) && ($num_pages != 1)) {
	  $display_links .= '  <a href="' . tep_href_link(basename($PHP_SELF), $parameters . $page_name . '=' . ($current_page_number + 1), 'NONSSL') . '" class="splitPageLink">' . PREVNEXT_BUTTON_NEXT . '</a>';
	} else {
	  $display_links .= '  ' . PREVNEXT_BUTTON_NEXT;
	}

	if ($parameters != '') {
	  if (substr($parameters, -1) == '&') $parameters = substr($parameters, 0, -1);
	  $pairs = explode('&', $parameters);
	  while (list(, $pair) = each($pairs)) {
		list($key,$value) = explode('=', $pair);
		$display_links .= tep_draw_hidden_field(rawurldecode($key), rawurldecode($value));
	  }
	}

	$display_links .= tep_hide_session_id() . '</form>';
  } else {
	$display_links = sprintf(TEXT_RESULT_PAGE, $num_pages, $num_pages);
  }

  return $display_links;
}

function display_count($query_numrows, $max_rows_per_page, $current_page_number, $text_output) {
  $to_num = ($max_rows_per_page * $current_page_number);
  if ($to_num > $query_numrows) $to_num = $query_numrows;
  $from_num = ($max_rows_per_page * ($current_page_number - 1));
  if ($to_num == 0) {
	$from_num = 0;
  } else {
	$from_num++;
  }

  return sprintf($text_output, $from_num, $to_num, $query_numrows);
}
 }
?>

 

Really appreciate any help!

A great place for newbies to start

Road Map to oscommerce File Structure

DO NOT PM ME FOR HELP. My time is valuable, unless i ask you to PM me, please dont. You will get better help if you post publicly. I am not as good at this as you think anyways!

 

HOWEVER, you can visit my blog (go to my profile to see it) and post a question there, i will find time to get back and answer you

 

Proud Memeber of the CODE BREAKERS CLUB!!

Posted
select c.customers_firstname, c.customers_lastname, sum(op.products_quantity * op.final_price) as ordersum from customers c, orders_products op, orders o where c.customers_id = o.customers_id and o.orders_id = op.orders_id group by c.customers_firstname, c.customers_lastname order by ordersum DESC limit 0, MAX_ADMIN_RESULTS

 

There should be a

define('MAX_ADMIN_RESULTS','some integer value')

 

somewhere in your PHP code. It's apparently missing (or that file isn't included), and so no value is substituted when the query is assembled. It doesn't seem to be defined in vanilla 2.2, so I'm guessing it's part of a mod/contribution.

Posted

hmm I will have to find out WHAT caused that to be there.. SO somewhere on the /catalog/admin/stats_customers.php page, there is a call for the ADMIN_MAX_RESULTS that is not defined in the split page class??

 

I havent dont ANY addons for reports yet, although i was JUST about to add a contribution called monthly sales tax report - but havent even TOUCHED it yet

A great place for newbies to start

Road Map to oscommerce File Structure

DO NOT PM ME FOR HELP. My time is valuable, unless i ask you to PM me, please dont. You will get better help if you post publicly. I am not as good at this as you think anyways!

 

HOWEVER, you can visit my blog (go to my profile to see it) and post a question there, i will find time to get back and answer you

 

Proud Memeber of the CODE BREAKERS CLUB!!

Posted

fixed it. it was a left over from the installation of the new EASY ATTRIBUTE MANAGER by Vger

A great place for newbies to start

Road Map to oscommerce File Structure

DO NOT PM ME FOR HELP. My time is valuable, unless i ask you to PM me, please dont. You will get better help if you post publicly. I am not as good at this as you think anyways!

 

HOWEVER, you can visit my blog (go to my profile to see it) and post a question there, i will find time to get back and answer you

 

Proud Memeber of the CODE BREAKERS CLUB!!

Archived

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

×
×
  • Create New...