Mary-at-Milton Posted January 14, 2004 Share Posted January 14, 2004 Hi, I have the following error when trying to look at "My Order History" when logged in. B) Can someone please help ? Warning: Division by zero in /homepages/45/d87589151/htdocs/miltongems/catalog/includes/classes/split_page_results.php on line 59 This is what my split_page_results.php file looks like. <?php /* $Id: split_page_results.php,v 1.15 2003/06/09 22:35:34 hpdl Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2003 osCommerce Released under the GNU General Public License */ class splitPageResults { var $sql_query, $number_of_rows, $current_page_number, $number_of_pages, $number_of_rows_per_page, $page_name; /* class constructor */ function splitPageResults($query, $max_rows, $count_key = '*', $page_holder = 'page') { global $HTTP_GET_VARS, $HTTP_POST_VARS; $this->sql_query = $query; $this->page_name = $page_holder; if (isset($HTTP_GET_VARS[$page_holder])) { $page = $HTTP_GET_VARS[$page_holder]; } elseif (isset($HTTP_POST_VARS[$page_holder])) { $page = $HTTP_POST_VARS[$page_holder]; } else { $page = ''; } if (empty($page) || !is_numeric($page)) $page = 1; $this->current_page_number = $page; $this->number_of_rows_per_page = $max_rows; $pos_to = strlen($this->sql_query); $pos_from = strpos($this->sql_query, ' from', 0); $pos_group_by = strpos($this->sql_query, ' group by', $pos_from); if (($pos_group_by < $pos_to) && ($pos_group_by != false)) $pos_to = $pos_group_by; $pos_having = strpos($this->sql_query, ' having', $pos_from); if (($pos_having < $pos_to) && ($pos_having != false)) $pos_to = $pos_having; $pos_order_by = strpos($this->sql_query, ' order by', $pos_from); if (($pos_order_by < $pos_to) && ($pos_order_by != false)) $pos_to = $pos_order_by; if (strpos($this->sql_query, 'distinct') || strpos($this->sql_query, 'group by')) { $count_string = 'distinct ' . tep_db_input($count_key); } else { $count_string = tep_db_input($count_key); } $count_query = tep_db_query("select count(" . $count_string . ") as total " . substr($this->sql_query, $pos_from, ($pos_to - $pos_from))); $count = tep_db_fetch_array($count_query); $this->number_of_rows = $count['total']; $this->number_of_pages = ceil($this->number_of_rows / $this->number_of_rows_per_page); if ($this->current_page_number > $this->number_of_pages) { $this->current_page_number = $this->number_of_pages; } $offset = ($this->number_of_rows_per_page * ($this->current_page_number - 1)); $this->sql_query .= " limit " . $offset . ", " . $this->number_of_rows_per_page; } /* class functions */ // display split-page-number-links function display_links($max_page_links, $parameters = '') { global $PHP_SELF, $request_type; $display_links_string = ''; $class = 'class="pageResults"'; if (tep_not_null($parameters) && (substr($parameters, -1) != '&')) $parameters .= '&'; // previous button - not displayed on first page if ($this->current_page_number > 1) $display_links_string .= '<a href="' . tep_href_link(basename($PHP_SELF), $parameters . $this->page_name . '=' . ($this->current_page_number - 1), $request_type) . '" class="pageResults" title=" ' . PREVNEXT_TITLE_PREVIOUS_PAGE . ' "><u>' . PREVNEXT_BUTTON_PREV . '</u></a> '; // check if number_of_pages > $max_page_links $cur_window_num = intval($this->current_page_number / $max_page_links); if ($this->current_page_number % $max_page_links) $cur_window_num++; $max_window_num = intval($this->number_of_pages / $max_page_links); if ($this->number_of_pages % $max_page_links) $max_window_num++; // previous window of pages if ($cur_window_num > 1) $display_links_string .= '<a href="' . tep_href_link(basename($PHP_SELF), $parameters . $this->page_name . '=' . (($cur_window_num - 1) * $max_page_links), $request_type) . '" class="pageResults" title=" ' . sprintf(PREVNEXT_TITLE_PREV_SET_OF_NO_PAGE, $max_page_links) . ' ">...</a>'; // page nn button for ($jump_to_page = 1 + (($cur_window_num - 1) * $max_page_links); ($jump_to_page <= ($cur_window_num * $max_page_links)) && ($jump_to_page <= $this->number_of_pages); $jump_to_page++) { if ($jump_to_page == $this->current_page_number) { $display_links_string .= ' <b>' . $jump_to_page . '</b> '; } else { $display_links_string .= ' <a href="' . tep_href_link(basename($PHP_SELF), $parameters . $this->page_name . '=' . $jump_to_page, $request_type) . '" class="pageResults" title=" ' . sprintf(PREVNEXT_TITLE_PAGE_NO, $jump_to_page) . ' "><u>' . $jump_to_page . '</u></a> '; } } // next window of pages if ($cur_window_num < $max_window_num) $display_links_string .= '<a href="' . tep_href_link(basename($PHP_SELF), $parameters . $this->page_name . '=' . (($cur_window_num) * $max_page_links + 1), $request_type) . '" class="pageResults" title=" ' . sprintf(PREVNEXT_TITLE_NEXT_SET_OF_NO_PAGE, $max_page_links) . ' ">...</a> '; // next button if (($this->current_page_number < $this->number_of_pages) && ($this->number_of_pages != 1)) $display_links_string .= ' <a href="' . tep_href_link(basename($PHP_SELF), $parameters . 'page=' . ($this->current_page_number + 1), $request_type) . '" class="pageResults" title=" ' . PREVNEXT_TITLE_NEXT_PAGE . ' "><u>' . PREVNEXT_BUTTON_NEXT . '</u></a> '; return $display_links_string; } // display number of total products found function display_count($text_output) { $to_num = ($this->number_of_rows_per_page * $this->current_page_number); if ($to_num > $this->number_of_rows) $to_num = $this->number_of_rows; $from_num = ($this->number_of_rows_per_page * ($this->current_page_number - 1)); if ($to_num == 0) { $from_num = 0; } else { $from_num++; } return sprintf($text_output, $from_num, $to_num, $this->number_of_rows); } } ?> Any help would be appreciated. Thanks! Mary-Ann Chief Cook and Bottlewasher Jack-of-All-Trades Running 2.2MS2 Link to comment Share on other sites More sharing options...
djlounge Posted January 14, 2004 Share Posted January 14, 2004 Hi Mary, I`ve got exactly the same problem. I know, that doesn`t really help you, but if you find a solution, please post it here. I`ll do the same. Or if somebody else could help us, please? CU, dj Link to comment Share on other sites More sharing options...
Guest Posted January 15, 2004 Share Posted January 15, 2004 Hi, i got that kind of problem wehn using the Coupon Contribution. I added the following line to my split_page_result.php: $reviews_count_query = tep_db_query("select count(*) 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']; //Line added if ($query_num_rows == 0) $query_num_rows = 1; // End Line added $num_pages = ceil($query_num_rows / $max_rows_per_page); if ($current_page_number > $num_pages) { $current_page_number = $num_pages; I hope that helps.... Cheers Guido Link to comment Share on other sites More sharing options...
Mary-at-Milton Posted January 15, 2004 Author Share Posted January 15, 2004 Alex R: THanks for your reply. Did you only change the admin/classes/split_page_results.php file ? I have tried that and I still get the same error message pointing to the catalog/classes/spli_page_results.php file. Mary-Ann Chief Cook and Bottlewasher Jack-of-All-Trades Running 2.2MS2 Link to comment Share on other sites More sharing options...
Guest Posted January 15, 2004 Share Posted January 15, 2004 Hi, i only changed it in the ccatalog\includes\classes\split_page_results.php. ope it will work for you too.... Cheers Guido Link to comment Share on other sites More sharing options...
djlounge Posted January 16, 2004 Share Posted January 16, 2004 Hi Mary-Ann, I changed a variable to a fixed integer in the line: $this->number_of_rows_per_page = $max_rows; to $this->number_of_rows_per_page = 5; just check it out. And: a file "catalog/classes/spli_page_results.php " shouldn`t exist. Do you really find it? CU, dj Link to comment Share on other sites More sharing options...
Mary-at-Milton Posted January 16, 2004 Author Share Posted January 16, 2004 Hello Sorry, my previous post said catalog/classes/spli_page_results.php this should read catalog/includes/classes/split_page_results.php. I have two files called 'split_page_results.php' One is in catalog/includes/classes and the other one is in catalog/admin/includes/classes The one that I changed according to Guido's code was located in catalog/admin/includes/classes because it is the only file that the code actually matches up. There is nowhere to put that code in the Catalog/includes/ file so I presumed he was talking about the catalog/admin/includes/ one. B) Mary-Ann Chief Cook and Bottlewasher Jack-of-All-Trades Running 2.2MS2 Link to comment Share on other sites More sharing options...
Mary-at-Milton Posted January 16, 2004 Author Share Posted January 16, 2004 Yippee. Thanks djlounge I changed the code as you said and IT WORKS. So 2 files had to be changed. The catalog/includes/classes and the catalog/admin/includes/classes split_page_results.php Now I hve another problem with German visitors getting error msgs. But I will post that into a new topic. Groan - it never ends. <_< Mary-Ann Chief Cook and Bottlewasher Jack-of-All-Trades Running 2.2MS2 Link to comment Share on other sites More sharing options...
djlounge Posted January 16, 2004 Share Posted January 16, 2004 I saw your problem. there is no mainpage.php in your language directory. open the index_default.tpl.php, go to the line and change "mainpage.php" to "index.php" or "default.php" (depends on the milestone-version you are using). Which kind of template system you`re using? It seems that it was not written for your version. You`ve got a great layout! Wow! CU, dj PS: I saw a few errors left: The boxheader-constants BOX_HEADING_CUSTOMER and BOX_HEADING_SECURITY are still undefined! Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.