Class SubPages {
Private $ each_disNums; // Number of Entries displayed on each page
Private $ nums; // The total number of items.
Private $ current_page; // the currently selected page
Private $ sub_pages; // The number of pages displayed each time
Private $ pageNums; // total number of pages
Private $ page_array = array (); // used to construct an array of pagination
Private $ subPage_link; // The link of each page
Private $ subPage_type; // type of the display page
/*
_ Construct is the SubPages Constructor used to automatically run classes when they are created.
@ $ Each_disNums number of entries per page
@ Nums total number of entries
@ Current_num the selected page
@ Sub_pages the number of pages displayed each time
@ SubPage_link: the link of each page
@ SubPage_type: type of the display page
Normal paging mode when @ subPage_type = 1
Example: a total of 4523 records are displayed. 10 records are displayed on each page. Currently, page 1/453 [Homepage] [Previous Page] [Next Page] [last page]
Classic paging style when @ subPage_type = 2
Example: current page 1/453 [Homepage] [Previous Page] 1 2 3 4 5 6 7 8 9 10 [Next Page] [last page]
*/
Function _ construct ($ each_disNums, $ nums, $ current_page, $ sub_pages, $ subPage_link, $ subPage_type ){
$ This-> each_disNums = intval ($ each_disNums );
$ This-> nums = intval ($ nums );
If (! $ Current_page ){
$ This-> current_page = 1;
} Else {
$ This-> current_page = intval ($ current_page );
}
$ This-> sub_pages = intval ($ sub_pages );
$ This-> pageNums = ceil ($ nums/$ each_disNums );
$ This-> subPage_link = $ subPage_link;
$ This-> show_SubPages ($ subPage_type); // call the show_SubPages function.
// Echo $ this-> pageNums. "--". $ this-> sub_pages;
}
Function _ destruct (){
Unset ($ each_disNums );
Unset ($ nums );
Unset ($ current_page );
Unset ($ sub_pages );
Unset ($ pageNums );
Unset ($ page_array );
Unset ($ subPage_link );
Unset ($ subPage_type );
}
/*
The show_SubPages function is used in the constructor. And used to determine what the page looks like
*/
Function show_SubPages ($ subPage_type ){
If ($ subPage_type = 1 ){
$ This-> subPageCss1 ();
} Elseif ($ subPage_type = 2 ){
$ This-> subPageCss2 ();
}
}
/*
The function used to initialize the array that creates pagination.
*/
Function initArray (){
For ($ I = 0; $ I <$ this-> sub_pages; $ I ++ ){
$ This-> page_array [$ I] = $ I;
}
Return $ this-> page_array;
}
/*
Construct_num_Page this function is used to construct display entries
Even if: [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]
*/
Function construct_num_Page (){
If ($ this-> pageNums <$ this-> sub_pages ){
$ Current_array = array ();
For ($ I = 0; $ I <$ this-> pageNums; $ I ++ ){
$ Current_array [$ I] = $ I + 1;
}
} Else {
$ Current_array = $ this-> initArray ();
If ($ this-> current_page <= 3 ){
For ($ I = 0; $ I <count ($ current_array); $ I ++ ){
$ Current_array [$ I] = $ I + 1;
}
} Elseif ($ this-> current_page <= $ this-> pageNums & $ this-> current_page> $ this-> pageNums-$ this-> sub_pages + 1 ){
For ($ I = 0; $ I <count ($ current_array); $ I ++ ){
$ Current_array [$ I] = ($ this-> pageNums)-($ this-> sub_pages) + 1 + $ I;
}
} Else {
For ($ I = 0; $ I <count ($ current_array); $ I ++ ){
$ Current_array [$ I] = $ this-> current_page-2 + $ I;
}
}
}
Return $ current_array;
}
/*
Construct normal mode paging
A total of 4523 records are displayed. 10 records are displayed on each page. Currently, page 1/453 [Homepage] [Previous Page] [Next Page] [last page]
*/
Function subPageCss1 (){
$ SubPageCss1Str = "";
$ SubPageCss1Str. = "total". $ this-> nums. "records ,";
$ SubPageCss1Str. = "displayed on each page". $ this-> each_disNums ,";
$ SubPageCss1Str. = "current section". $ this-> current_page. "/". $ this-> pageNums. "page ";
If ($ this-> current_page> 1 ){
$ FirstPageUrl = $ this-> subPage_link. "1 ";
$ PrewPageUrl = $ this-> subPage_link. ($ this-> current_page-1 );
$ SubPageCss1Str. = "[<a href = '$ firstpageurl'> homepage </a>]";
$ SubPageCss1Str. = "[<a href = '$ prewpageurl'> Previous Page </a>]";
} Else {
$ SubPageCss1Str. = "[Homepage]";
$ SubPageCss1Str. = "[previous page]";
}
If ($ this-> current_page <$ this-> pageNums ){
$ LastPageUrl = $ this-> subPage_link. $ this-> pageNums;
$ NextPageUrl = $ this-> subPage_link. ($ this-> current_page + 1 );
$ SubPageCss1Str. = "[<a href = '$ nextpageurl'> Next page </a>]";
$ SubPageCss1Str. = "[<a href = '$ lastpageurl'> last page </a>]";
} Else {
$ SubPageCss1Str. = "[Next Page]";
$ SubPageCss1Str. = "[last page]";
}
Echo $ subPageCss1Str;
}
/*
Create pagination in classic mode
Current page 1/453 [Homepage] [Previous Page] 1 2 3 4 5 6 7 8 9 10 [Next Page] [last page]
* // * Product page */
Function subPageCss2 (){
$ SubPageCss2Str = "";
// Jason edit
// $ SubPageCss2Str. = "<li class =" text "> Current number ". $ this-> current_page. "/". $ this-> pageNums. "page </li> ";
If ($ this-> current_page> 1 ){
$ FirstPageUrl = $ this-> subPage_link. "1 ";
$ PrewPageUrl = $ this-> subPage_link. ($ this-> current_page-1 );
// $ SubPageCss2Str. = "<li class =" pre "> <a href = '$ firstPageUrl'> first page </a> </li> ";
$ SubPageCss2Str. = "<li class =" pre "> <a href = '$ prewpageurl'> Previous Page </a> </li> ";
} Else {
// $ SubPageCss2Str. = "<li class =" prea "> first page </li> ";
$ SubPageCss2Str. = "<li class =" prea "> Previous Page </li> ";
}
$ A = $ this-> construct_num_Page ();
For ($ I = 0; $ I <count ($ a); $ I ++ ){
$ S = $ a [$ I];
If ($ s ==$ this-> current_page ){
$ SubPageCss2Str. = "<li class =" num ">". $ s. "</li> ";
} Else {
$ Url = $ this-> subPage_link. $ s;
// Echo $ url; exit;
$ SubPageCss2Str. = "<li class =" num2 "> <a href = '$ url'>". $ s. "</a> </li> ";
// Echo $ subPageCss2Str;
}
}
// Exit;
If ($ this-> current_page <$ this-> pageNums ){
$ LastPageUrl = $ this-> subPage_link. $ this-> pageNums;
$ NextPageUrl = $ this-> subPage_link. ($ this-> current_page + 1 );
$ SubPageCss2Str. = "<li class =" next "> <a href = '$ nextpageurl'> next page </a> </li> ";
// $ SubPageCss2Str. = "<li class =" next "> <a href = '$ lastPageUrl'> last page </a> </li> ";
} Else {
$ SubPageCss2Str. = "<li class =" nexta "> Next page </li> ";
// $ SubPageCss2Str. = "<li class =" nexta "> Last page </li> ";
}
Echo $ subPageCss2Str;
}
}