[Ô´´]ÓѺõÄcodeigniter¿ò¼Ü·ÖÒ³Àà
¡¡¡¡CodeIgniter ¾ßÓзdz£ÈÝÒ×ʹÓõķÖÒ³Àà¡£ÔÚ±¾½Ì³ÌÖÐÎÒ»á×öÒ»¸ö´ÓÊý¾Ý¿â·µ»ØÒ»×é½á¹û²¢·ÖÒ³ÕâЩ½á¹ûµÄ¼òµ¥Àý×Ó¡£ÎÒ½«Ê¹ÓÃ×îа汾µÄ CI¡£·ÖÒ³ÀಢûÓÐÐÞ¸Ä(ÖÁÉÙÎÒÈÏΪûÓÐ)£¬ÓÃ×îеÄÎȶ¨°æ¿ò¼Ü×ÜÊǺõġ£ÏÖÔÚ£¬ÈÃÎÒÃÇ¿ªÊ¼°É¡£CodeIgniterĬÈϵķÖÒ³ÀàÐÎʽ²¢²»ÔõôÓѺã¬ÒªÊµÏÖÀàËÆhttp://domain.com/forums/forum-4-2.html»òÕßhttp://domain.com/forums/forum_4_2.htmlÕâÖÖÐÎʽ£¬¾ÍÏÔµÃÁ¦²»´ÓÐÄÁË£¬ËùÒÔÎÒ¶ÔÔÓеķÖÒ³Àà×öÁ˸öÀ©Õ¹£¬Ô´ÂëÈçÏ£º
<?php if (! defined('BASEPATH')) exit('Access Denied!'); /** * FILE_NAME : Hpages.php * ºÆº£ÍøÂç ǰ̨ ·ÖÒ³Àà * * @package haohailuo * @author By Laurence.xu <haohailuo@163.com> * @copyright Copyright (c) 2010, Haohailuo, Inc. * @link http://www.haohailuo.com * @since Version 1.0 $Id$ * @version Wed Dec 08 12:21:17 CST 2010 * @filesource */ class Hpages { var $base_url = ''; //»ù±¾Á´½ÓµØÖ· var $total_rows = ''; //Êý¾Ý×ÜÊý var $per_page = 10; //ÿҳÌõÊý var $num_links = 2; //ÒªÏÔʾµÄ×óÓÒÁ´½ÓµÄ¸öÊý var $cur_page = 1; //µ±Ç°Ò³Êý var $first_link = '‹ First'; //Ê×Ò³×Ö·û var $next_link = '>'; //ÏÂÒ»Ò³µÄ×Ö·û var $prev_link = '<'; //ÉÏÒ»Ò³µÄ×Ö·û var $last_link = 'Last ›'; //ĩҳµÄ×Ö·û var $uri_segment = 3; //·ÖÒ³ÊýËùÔÚµÄuriƬ¶ÎλÖà var $full_tag_open = ''; //·ÖÒ³ÇøÓò¿ªÊ¼µÄhtml±êÇ© var $full_tag_close = ''; //·ÖÒ³ÇøÓò½áÊøµÄºóhtml±êÇ© var $first_tag_open = ''; //Ê×Ò³¿ªÊ¼µÄhtml±êÇ© var $first_tag_close = ' '; //Ê×Ò³½áÊøµÄhtml±êÇ© var $last_tag_open = ' '; //ĩҳ¿ªÊ¼µÄhtml±êÇ© var $last_tag_close = ''; //ĩҳ½áÊøµÄhtml±êÇ© var $cur_tag_open = ' <b>';//µ±Ç°Ò³¿ªÊ¼µÄ... var $cur_tag_close = '</b>'; //µ±Ç°Ò³½áÊøµÄ... var $next_tag_open = ' '; //ÏÂÒ»Ò³¿ªÊ¼µÄ..... var $next_tag_close = ' '; //ÏÂÒ»Ò³½áÊøµÄ..... var $prev_tag_open = ' '; //ÉÏÒ»Ò³¿ªÊ¼µÄ..... var $prev_tag_close = ''; //ÉÏÒ»Ò³½áÊøµÄ..... var $num_tag_open = ' '; //¡°Êý×Ö¡±Á´½ÓµÄ´ò¿ª±êÇ©¡£ var $num_tag_close = ''; //¡°Êý×Ö¡±Á´½ÓµÄ½áÊø±êÇ©¡£ var $page_query_string = FALSE; var $query_string_segment = 'per_page'; var $page_mode = 'default'; //default for add page at the end? if include {page}, will replace it for current page. var $underline_uri_seg = -1; //´æÔÚÏ»®Ïßʱ,Ò³ÂëËùÔÚÊý×éϱêλÖà var $custom_cur_page = 0; //×Ô¶¨Ò嵱ǰҳÂ룬´æÔÚ´ËÖµÊÇ£¬ÏµÍ³½«²»×Ô¶¯Åжϵ±Ç°Ò³Êý£¬Ä¬Èϲ»ÆôÓà function __construct() { $this->Hpages(); } /** * Constructor * * @access public */ function Hpages() { if (file_exists(APPPATH.'config/pagination.php')) { require_once(APPPATH.'config/pagination.php'); foreach ($config as $key=>$val) { $this->{$key} = $val; } } log_message('debug', "Hpages Class Initialized"); } /** * ³õʼ»¯²ÎÊý * * @see init() * @author Laurence.xu <haohailuo@163.com> * @version Wed Dec 08 12:26:07 CST 2010 * @param <array> $params ´ý³õʼ»¯µÄ²ÎÊý */ function init($params = array()) { if (count($params) > 0) { foreach ($params as $key => $val) { if (isset($this->$key)) { $this->$key = $val; } } } } /** * ´´½¨·ÖÒ³Á´½Ó * * @see create_links() * @author Laurence.xu <haohailuo@163.com> * @version Wed Dec 08 15:02:27 CST 2010 * @param <boolean> $show_info ÊÇ·ñÏÔʾ×ÜÌõÊýµÈÐÅÏ¢ * @return <string> $output */ function create_links($show_info = false, $top_info = false) { //Èç¹ûûÓмǼ»òÕßÿҳÌõÊýΪ0,Ôò·µ»Ø¿Õ if ($this->total_rows == 0 || $this->per_page == 0) { return ''; } //¼ÆËã×ÜÒ³Êý $num_pages = ceil($this->total_rows / $this->per_page); //Ö»ÓÐÒ»Ò³,·µ»Ø¿Õ if ($num_pages == 1 && !$show_info) { return ''; } $CI =& get_instance(); //»ñÈ¡µ±Ç°Ò³±àºÅ if ($CI->config->item('enable_query_strings') === TRUE || $this->page_query_string === TRUE) { if ($CI->input->get($this->query_string_segment) != 0) { $this->cur_page = $CI->input->get($this->query_string_segment); // Prep the current page - no funny business! $this->cur_page = (int) $this->cur_page; } } else { if (intval($this->custom_cur_page) > 0) { $this->cur_page = (int) $this->custom_cur_page; }else{ $uri_segment = $CI->uri->segment($this->uri_segment, 0); if ( !empty($uri_segment) ) { $this->cur_page = $uri_segment; //Èç¹ûÓÐÏ»®Ïß if ($this->underline_uri_seg >= 0) { if (strpos($this->cur_page, '-') !== false) { $arr = explode('-', $this->cur_page); }else { $arr = explode('_', $this->cur_page); } $this->cur_page = $arr[$this->underline_uri_seg]; unset($arr); } // Prep the current page - no funny business! $this->cur_page = (int) $this->cur_page; } } } //echo $this->cur_page;exit; //×óÓÒÏÔʾµÄÒ³Âë¸öÊý $this->num_links = (int)$this->num_links; if ($this->num_links < 1) { show_error('Your number of links must be a positive number.'); } if ( ! is_numeric($this->cur_page) || $this->cur_page < 1) { $this->cur_page = 1; } //Èç¹ûµ±Ç°Ò³Êý´óÓÚ×ÜÒ³Êý,Ôò¸³Öµ¸øµ±Ç°Ò³Êý×î´óÖµ if ($this->cur_page > $num_pages) { $this->cur_page = $num_pages; } $uri_page_number = $this->cur_page; if ($CI->config->item('enable_query_strings') === TRUE || $this->page_query_string === TRUE) { $this->base_url = rtrim($this->base_url).'&'.$this->query_string_segment.'='; } else { $this->base_url = rtrim($this->base_url, '/') .'/'; } if (strpos($this->base_url, "{page}") !== false) { $this->page_mode = 'replace'; } $output = $top_output = ''; //Êý¾Ý×ÜÁ¿ÐÅÏ¢ if ($show_info) { $output = " ¹²<b>".$this->total_rows ."</b>Ìõ¼Ç¼ <span style='color:#ff0000;font-weight:bold'>{$this->cur_page}</span>/<b>".$num_pages."</b>Ò³ ÿҳ<b>{$this->per_page}</b>Ìõ "; } //Êý¾ÝÐÅÏ¢£¬ÏÔʾÔÚÉÏÃæ£¬ÒÔ¹©ÌáÐÑ if ($top_info) { $top_output = " ¹² <b>".$this->total_rows ."</b> Ìõ¼Ç¼ µÚ<span style='color:#ff0000;font-weight:bold'>{$this->cur_page}</span>Ò³/¹²<b>".$num_pages."</b>Ò³ "; } //ÅжÏÊÇ·ñÒªÏÔʾÊ×Ò³ if ($this->cur_page > $this->num_links+1) { $output .= $this->first_tag_open.'<a href="'.$this->makelink().'">'.$this->first_link.'</a>'.$this->first_tag_close; } //ÏÔʾÉÏÒ»Ò³ if ($this->cur_page != 1) { $j = $this->cur_page - 1; if ($j == 0) $j = ''; $output .= $this->prev_tag_open.'<a href="'.$this->makelink($j).'">'.$this->prev_link.'</a>'.$this->prev_tag_close; } //ÏÔʾÖмäÒ³ for ($i=1; $i <= $num_pages; $i++){ if ($i < $this->cur_page-$this->num_links || $i > $this->cur_page+$this->num_links) { continue; } //ÏÔʾÖмäÒ³Êý if($this->cur_page == $i){ $output .= $this->cur_tag_open.$i.$this->cur_tag_close; //µ±Ç°Ò³ }else { $output .= $this->num_tag_open.'<a href="'.$this->makelink($i).'">'.$i.'</a>'.$this->num_tag_close; } } //ÏÔʾÏÂÒ»Ò³ if ($this->cur_page < $num_pages) { $k = $this->cur_page + 1; $output .= $this->next_tag_open.'<a href="'.$this->makelink($k).'">'.$this->next_link.'</a>'.$this->next_tag_close; } //ÏÔʾβҳ if (($this->cur_page + $this->num_links) < $num_pages) { $output .= $this->last_tag_open.'<a href="'.$this->makelink($num_pages).'">'.$this->last_link.'</a>'.$this->last_tag_close; } $output = preg_replace("#([^:])//+#", "\\1/", $output); // Add the wrapper HTML if exists $output = $this->full_tag_open.$output.$this->full_tag_close; if ($top_info) { return array($output, $top_output); }else { return $output; } } /** * ´´½¨Á´½ÓurlµØÖ· * * @param <string> $str * @return <string> */ function makelink($str = '') { if($this->page_mode == 'default') { return $this->_forsearch($this->base_url.$str); } else { $url = $this->base_url; if ($str == 1) { $url = str_replace('/{page}', '', $this->base_url); } $url = str_replace("{page}", $str, $url); return $this->_forsearch($url); } } /** * ´¦ÀíurlµØÖ· * * @see _forsearch() * @author Laurence.xu <haohailuo@163.com> * @version Wed Dec 08 14:33:58 CST 2010 * @param <string> $string pInfo * @return <string> */ function _forsearch($string) { $length = strlen($string) - 1; if($string{$length} == '/') { $string = rtrim($string, '/'); } return site_url($string); return $string; } } // END Pagination Class /* End of file Hpages.php */ /* Location: ./system/libraries/Hpages.php */չʾµØÖ·£ºhttp://code.haohailuo.com/cphp.html
¾ßÌåʹÓ÷½·¨£º
//´´½¨·ÖÒ³ $config = array(); $this->load->library('hpages'); $config['base_url'] = "channel/lists/c{$slug}/{page}"; $config['total_rows'] = intval($total); $config['per_page'] = $pagesize; $config['uri_segment'] = 1; $config['num_links'] = 3; $config['underline_uri_seg'] = 1; //Ï»®ÏßuriÖÐÒ³ÊýËùÔÚµÄλÖà $this->hpages->init($config); $this->template['lists'] = $list; $this->template['pagestr'] = $this->hpages->create_links(1); Ч¹ûͼÈçÏ£º
Ô´ÂëÏÂÔØ£º Hpages.rar
¡¡¡¡±¾ÎÄÓÉ ºÆº£´úÂëÍø Ê×·¢£¬Çë×ðÖØÔ´´£¬×ªÔظ½´øÁ´½Óhttp://www.it300.com/article-278.html£¬Ð»Ð»ºÏ×÷¡£
ÍÆ¼öÐÅÏ¢
- ¡¾ÊÓÆµ²¥·Å¡¿JplayerÊÓÆµ²¥·ÅÆ÷µÄʹÓÃ
- memcacheÄÚ´æÔÀí
- Memcache¼¼Êõ·ÖÏí£º½éÉÜ¡¢Ê¹Óᢴ洢¡¢Ëã·¨¡¢ÓÅ»¯....
- php³£ÓÃÕýÔò±í´ïʽ
- phpÐÔÄܼà²âÄ£¿éXHProf
- ÈÃCI¿ò¼ÜÖ§³Öservice²ã
- ʹÓÃPHPÉú³É´øLOGOµÄ¸öÐÔ»¯¶þάÂëͼÏñ
- ¹ØÓÚCodeIgniterÄã¿ÉÄܲ»ÖªµÀµÄ5¸ö֪ʶµã
- Memcache ºÁÃë¼¶³¬Ê±¼°ÆäËû³£¼ûÎÊÌâ»ã×Ü
- [PHP±Ê¼Ç]PHPQueryÒ»¸ö´¦ÀíDOMµÄÀûÆ÷
ÈÈÃÅÐÅÏ¢
- nohup: redirecting stderr to stdou....
- ʹÓÃlog_formatΪNginx·þÎñÆ÷ÉèÖøüÏêϸµÄÈÕÖ¾¸ñʽ
- jquery easyUI--dataGrid-Json
- [Ô´´]·ÂGoogle Reader¡¢ÐÂÀË΢²©¡¢ÌÚѶ΢²©µ....
- ÀûÓÃKeepalived+mysql¹¹½¨¸ß¿ÉÓÃMySQLË«Ö÷×Ô¶....
- Nginx+keepalivedʵÏÖ¸ºÔؾùºâºÍË«»úÈȱ¸¸ß¿ÉÓÃ
- jqueryʵÏÖÒ³Ãæ¼ÓÔØ½ø¶ÈÌõ
- Rolling cURL: PHP²¢·¢×î¼Ñʵ¼ù
- codeigniter ·ÓÉÖÕ¼«ÓÅ»¯(url rewrite)
- linuxÏÂÉèÖÃsshÎÞÃÜÂëµÇ¼
×î½ü¸üÐÂ
- PHP»ñÈ¡Óû§µÄÕæÊµIP£¬²¢ÅжÏÊÇ·ñÄÚÍøIP
- PHP ´íÎóÈÕÖ¾ error_log
- ÀûÓÃbigpipe»úÖÆÊµÏÖÒ³ÃæÄ£¿éµÄÒì²½äÖȾ chunked¼¼Êõ
- php¿ØÖÆÎļþÏÂÔØËÙ¶È
- js + php ¶ÁÈ¡¡¢²¥·ÅÊÓÆµÁ÷ ¼æÈÝfirefox£¬c....
- ¡¾ÊÓÆµ²¥·Å¡¿JplayerÊÓÆµ²¥·ÅÆ÷µÄʹÓÃ
- UNICODE Óë UTF-8 µÄ¹ØÏµ
- memcacheÄÚ´æÔÀí
- Memcache¼¼Êõ·ÖÏí£º½éÉÜ¡¢Ê¹Óᢴ洢¡¢Ëã·¨¡¢ÓÅ»¯....
- phpʹÓÃmb_detect_encoding¼ì²â×Ö·û´®±àÂë
ÆÀÂÛ