[ Index ] |
|
Code source de osCommerce 2.2ms2-060817 |
1 <?php 2 /* 3 $Id: split_page_results.php,v 1.13 2003/05/05 17:56:50 dgw_ Exp $ 4 5 osCommerce, Open Source E-Commerce Solutions 6 http://www.oscommerce.com 7 8 Copyright (c) 2002 osCommerce 9 10 Released under the GNU General Public License 11 */ 12 13 class splitPageResults { 14 function splitPageResults(&$current_page_number, $max_rows_per_page, &$sql_query, &$query_num_rows) { 15 if (empty($current_page_number)) $current_page_number = 1; 16 17 $pos_to = strlen($sql_query); 18 $pos_from = strpos($sql_query, ' from', 0); 19 20 $pos_group_by = strpos($sql_query, ' group by', $pos_from); 21 if (($pos_group_by < $pos_to) && ($pos_group_by != false)) $pos_to = $pos_group_by; 22 23 $pos_having = strpos($sql_query, ' having', $pos_from); 24 if (($pos_having < $pos_to) && ($pos_having != false)) $pos_to = $pos_having; 25 26 $pos_order_by = strpos($sql_query, ' order by', $pos_from); 27 if (($pos_order_by < $pos_to) && ($pos_order_by != false)) $pos_to = $pos_order_by; 28 29 $reviews_count_query = tep_db_query("select count(*) as total " . substr($sql_query, $pos_from, ($pos_to - $pos_from))); 30 $reviews_count = tep_db_fetch_array($reviews_count_query); 31 $query_num_rows = $reviews_count['total']; 32 33 $num_pages = ceil($query_num_rows / $max_rows_per_page); 34 if ($current_page_number > $num_pages) { 35 $current_page_number = $num_pages; 36 } 37 $offset = ($max_rows_per_page * ($current_page_number - 1)); 38 $sql_query .= " limit " . max($offset, 0) . ", " . $max_rows_per_page; 39 } 40 41 function display_links($query_numrows, $max_rows_per_page, $max_page_links, $current_page_number, $parameters = '', $page_name = 'page') { 42 global $PHP_SELF; 43 44 if ( tep_not_null($parameters) && (substr($parameters, -1) != '&') ) $parameters .= '&'; 45 46 // calculate number of pages needing links 47 $num_pages = ceil($query_numrows / $max_rows_per_page); 48 49 $pages_array = array(); 50 for ($i=1; $i<=$num_pages; $i++) { 51 $pages_array[] = array('id' => $i, 'text' => $i); 52 } 53 54 if ($num_pages > 1) { 55 $display_links = tep_draw_form('pages', basename($PHP_SELF), '', 'get'); 56 57 if ($current_page_number > 1) { 58 $display_links .= '<a href="' . tep_href_link(basename($PHP_SELF), $parameters . $page_name . '=' . ($current_page_number - 1), 'NONSSL') . '" class="splitPageLink">' . PREVNEXT_BUTTON_PREV . '</a> '; 59 } else { 60 $display_links .= PREVNEXT_BUTTON_PREV . ' '; 61 } 62 63 $display_links .= sprintf(TEXT_RESULT_PAGE, tep_draw_pull_down_menu($page_name, $pages_array, $current_page_number, 'onChange="this.form.submit();"'), $num_pages); 64 65 if (($current_page_number < $num_pages) && ($num_pages != 1)) { 66 $display_links .= ' <a href="' . tep_href_link(basename($PHP_SELF), $parameters . $page_name . '=' . ($current_page_number + 1), 'NONSSL') . '" class="splitPageLink">' . PREVNEXT_BUTTON_NEXT . '</a>'; 67 } else { 68 $display_links .= ' ' . PREVNEXT_BUTTON_NEXT; 69 } 70 71 if ($parameters != '') { 72 if (substr($parameters, -1) == '&') $parameters = substr($parameters, 0, -1); 73 $pairs = explode('&', $parameters); 74 while (list(, $pair) = each($pairs)) { 75 list($key,$value) = explode('=', $pair); 76 $display_links .= tep_draw_hidden_field(rawurldecode($key), rawurldecode($value)); 77 } 78 } 79 80 if (SID) $display_links .= tep_draw_hidden_field(tep_session_name(), tep_session_id()); 81 82 $display_links .= '</form>'; 83 } else { 84 $display_links = sprintf(TEXT_RESULT_PAGE, $num_pages, $num_pages); 85 } 86 87 return $display_links; 88 } 89 90 function display_count($query_numrows, $max_rows_per_page, $current_page_number, $text_output) { 91 $to_num = ($max_rows_per_page * $current_page_number); 92 if ($to_num > $query_numrows) $to_num = $query_numrows; 93 $from_num = ($max_rows_per_page * ($current_page_number - 1)); 94 if ($to_num == 0) { 95 $from_num = 0; 96 } else { 97 $from_num++; 98 } 99 100 return sprintf($text_output, $from_num, $to_num, $query_numrows); 101 } 102 } 103 ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Mon Nov 26 19:48:25 2007 | par Balluche grâce à PHPXref 0.7 |
![]() |