Encapsulated PHP paging class, easy to use
Class Pagination independent paging class Call method: $ Pagenation = new Pagination (4, 10,200); // 4 (first parameter) = currentPage, 10 (second parameter) = pageSize, 200 (third parameter) = total $ Pagenation-> set_link ('http: // www.360hqb.com '); $ Pagenation-> show ();
- /**
- * Class Pagination
- *
- * Independent paging class
- * Call method:
- * $ Pagenation = new Pagination (4, 10,200); // 4 (first parameter) = currentPage, 10 (second parameter) = pageSize, 200 (third parameter) = total
- * $ Pagenation-> set_link ('http: // www.360hqb.com ');
- * $ Pagenation-> show ();
- */
- Class Java_Pagination
- {
- Protected $ _ total = 0;
- Protected $ _ total_page = 0;
- Protected $ _ page = 1;
- Protected $ _ page_size = 10;
- Protected $ _ link = '';
- Protected $ _ grep = 3;
- Protected $ _ admin = false;
- Protected $ _ css_next = 'Next-page ';
- Protected $ _ css_prev = 'prev-page ';
- Protected $ _ css_curr = 'curr-page ';
- Protected $ _ css_page = 'Page-nav inline-block ';
- Public function _ construct ($ page, $ page_size, $ total, $ admin = false)
- {
- $ This-> set_current_page ($ page );
- $ This-> set_page_size ($ page_size );
- $ This-> set_total ($ total );
- If ($ admin)
- {
- $ This-> _ admin = $ admin;
- }
- // $ This-> _ link = $ _ SERVER ['request _ URI '];
- $ This-> set_link ($ _ SERVER ['request _ URI ']);
- }
- Public function set_link ($ link, $ is_shop = TRUE)
- {
- $ Len = strlen ($ link );
- $ Substr = substr ($ link, $ len-1 );
- If ('&' = $ substr)
- {
- $ Link = substr ($ link, 0, $ len-1 );
- }
- $ Pos = strpos ($ link ,'? ');
- If ($ pos)
- {
- $ Link = substr ($ link, 0, $ pos );
- }
- If (! Empty ($ _ GET ))
- {
- $ Link. = '? ';
- Foreach ($ _ GET as $ k => $ v)
- {
- If ('page' = strtolower ($ k ))
- {
- Continue;
- }
- $ Link. = $ k. '='. $ v .'&';
- }
- $ Len = strlen ($ link );
- $ Substr = substr ($ link, $ len-1 );
- If ('&' = $ substr)
- {
- $ Link = substr ($ link, 0, $ len-1 );
- }
- }
- Elseif (isset ($ _ SERVER ['query _ string']) AND! Empty ($ _ SERVER ['query _ string']) AND $ is_shop)
- {
- $ Link. = '? '. $ _ SERVER ['query _ string'];
- $ Len = strlen ($ link );
- $ Substr = substr ($ link, $ len-1 );
- If ('&' = $ substr)
- {
- $ Link = substr ($ link, 0, $ len-1 );
- }
- }
- $ This-> _ link = $ link;
- }
- Public function set_page_size ($ page_size)
- {
- If (empty ($ page_size ))
- {
- $ This-> _ page_size = 10;
- }
- Else
- {
- $ This-> _ page_size = (int) $ page_size;
- }
- }
- Public function set_total ($ total)
- {
- $ Page_size = empty ($ this-> _ page_size )? 10: $ this-> _ page_size;
- $ This-> _ total = $ total;
- If (0 = ($ total % $ page_size ))
- {
- $ This-> _ total_page = intval ($ total/$ page_size );
- }
- Else
- {
- $ This-> _ total_page = intval ($ total/$ page_size) + 1;
- }
- If ($ this-> _ page> $ this-> _ total_page)
- {
- $ This-> _ page = $ this-> _ total_page;
- }
- }
- Public function set_current_page ($ page)
- {
- If (empty ($ page ))
- {
- $ This-> _ page = 1;
- }
- Else
- {
- $ This-> _ page = (int) $ page;
- }
- }
- Public function get_next_page_btn ()
- {
- If ($ this-> _ page <$ this-> _ total_page)
- {
- $ Link = '';
- If (strpos ($ this-> _ link ,'? '))
- {
- $ Link = $ this-> _ link. '& page ='. ($ this-> _ page + 1 );
- }
- Else
- {
- $ Link = $ this-> _ link .'? Page = '. ($ this-> _ page + 1 );
- }
- If ($ this-> _ admin)
- {
- Return 'next page ';
- }
- Else
- {
- Return'
- Next page
';
- }
- }
- If ($ this-> _ admin)
- Return 'next page? ';
- Else
- Return '';
- }
- Public function get_prev_page_btn ()
- {
- If ($ this-> _ page> 1)
- {
- $ Link = '';
- If (strpos ($ this-> _ link ,'? '))
- {
- $ Link = $ this-> _ link. '& page ='. ($ this-> _ page-1 );
- }
- Else
- {
- $ Link = $ this-> _ link .'? Page = '. ($ this-> _ page-1 );
- }
- If ($ this-> _ admin)
- {
- Return 'previous page ';
- }
- Else
- {
- Return'
- Previous Page
';
- }
- }
- If ($ this-> _ admin)
- Return '? Previous Page ';
- Else
- Return '';
- }
- Public function get_current_page ()
- {
- If ($ this-> _ admin)
- Return''. $ This-> _ page .'';
- Else
- Return'
- '. $ This-> _ page .'
';
- }
- Public function get_page_link ($ page)
- {
- $ Link = '';
- If (strpos ($ this-> _ link ,'? '))
- {
- $ Link = $ this-> _ link. '& page ='. $ page;
- }
- Else
- {
- $ Link = $ this-> _ link .'? Page = '. $ page;
- }
- If ($ this-> _ admin)
- {
- Return ''. $ page .'';
- }
- Else
- {
- Return'
- '. $ Page .'
';
- }
- }
- Public function get_prev_pages ()
- {
- $ Pages = array ();
- $ Begin = $ this-> _ page-$ this-> _ grep;
- If ($ begin <1)
- {
- $ Begin = 1;
- }
- Elseif ($ begin> 2)
- {
- $ Pages [] = $ this-> get_page_link (1 );
- If ($ this-> _ admin)
- {
- $ Pages [] = '...';
- }
- Else
- {
- $ Pages [] ='
- ...
';
- }
- }
- Elseif ($ begin = 2)
- {
- $ Pages [] = $ this-> get_page_link (1 );
- }
- For ($ I = $ begin; $ I <$ this-> _ page; $ I ++)
- {
- $ Pages [] = $ this-> get_page_link ($ I );
- }
- Return $ pages;
- }
- Public function get_next_pages ()
- {
- $ Pages = array ();
- $ Begin = $ this-> _ page + 1;
- If ($ begin <$ this-> _ total_page)
- {
- $ End = $ begin + $ this-> _ grep;
- If ($ end> $ this-> _ total_page)
- {
- $ End = $ this-> _ total_page;
- }
- For ($ I = $ begin; $ I <$ end; $ I ++)
- {
- $ Pages [] = $ this-> get_page_link ($ I );
- }
- If ($ I <$ this-> _ total_page)
- {
- If ($ this-> _ admin)
- {
- $ Pages [] = '...';
- }
- Else
- {
- $ Pages [] ='
- ...
';
- }
- $ Pages [] = $ this-> get_page_link ($ this-> _ total_page );
- }
- Else
- {
- $ Pages [] = $ this-> get_page_link ($ this-> _ total_page );
- }
- }
- Elseif ($ begin ==$ this-> _ total_page)
- {
- $ Pages [] = $ this-> get_page_link ($ this-> _ total_page );
- }
- Return $ pages;
- }
- Public function show ()
- {
- If ($ this-> _ total_page <= 1)
- {
- Return;
- }
- If ($ this-> _ admin)
- {
- Echo'
';
- Echo 'total Records '. $ this-> _ total ';
- }
- Else
- {
- Echo'
';
- }
- Echo $ this-> get_prev_page_btn ();
- $ Prev_pages = $ this-> get_prev_pages ();
- If (! Empty ($ prev_pages ))
- {
- Foreach ($ prev_pages as $ page)
- {
- Echo $ page;
- }
- }
- Echo $ this-> get_current_page ();
- $ Next_pages = $ this-> get_next_pages ();
- If (! Empty ($ next_pages ))
- {
- Foreach ($ next_pages as $ page)
- {
- Echo $ page;
- }
- }
- Echo $ this-> get_next_page_btn ();
- If ($ this-> _ admin)
- {
- Echo'';
- }
- Else
- {
- Echo'
';
- }
- }
- }
|