Multiple paging styles for php paging and paging functions
/**
- * Page name: page_class.php
- */
- Class Page {
- 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
- /**
- *
- * _ Construct is the SubPages Constructor used to automatically run classes when they are created.
- * @ $ Each_disNums number of entries displayed on each 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
- *
- * When @ subPage_type = 1, it is in normal paging mode.
- * 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]
- * The classic paging style is used 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 Page ($ each_disNums, $ nums, $ current_page, $ sub_pages, $ subPage_link ){
- $ 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;
- }
- /**
- * Take Care of earlier versions
- */
- Function _ construct ($ each_disNums, $ nums, $ current_page, $ sub_pages, $ subPage_linke ){
- $ This-> Page ($ each_disNums, $ nums, $ current_page, $ sub_pages, $ subPage_link );
- }
/*
- _ Destruct: a destructor called when the class is not in use. This function is used to release resources.
- */
- Function _ destruct (){
- Unset ($ each_disNums );
- Unset ($ nums );
- Unset ($ current_page );
- Unset ($ sub_pages );
- Unset ($ pageNums );
- Unset ($ page_array );
- Unset ($ subPage_link );
- }
/*
- 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. = "[Homepage]";
- $ SubPageCss1Str. = "[previous page]";
- } 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. = "[Next Page]";
- $ SubPageCss1Str. = "[last page]";
- } Else {
- $ SubPageCss1Str. = "[Next Page]";
- $ SubPageCss1Str. = "[last page]";
- }
Return $ 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]
- */
- Function subPageCss2 (){
- $ SubPageCss2Str = "";
- $ SubPageCss2Str. = "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 );
- $ SubPageCss2Str. = "[Homepage]";
- $ SubPageCss2Str. = "[previous page]";
- } Else {
- $ SubPageCss2Str. = "[Homepage]";
- $ SubPageCss2Str. = "[previous page]";
- }
$ A = $ this-> construct_num_Page ();
- For ($ I = 0; $ I <count ($ a); $ I ++ ){
- $ S = $ a [$ I];
- If ($ s ==$ this-> current_page ){
- $ SubPageCss2Str. = "[". $ s. "]";
- } Else {
- $ Url = $ this-> subPage_link. $ s;
- $ SubPageCss2Str. = "[". $ s. "]";
- }
- }
If ($ this-> current_page <$ this-> pageNums ){
- $ LastPageUrl = $ this-> subPage_link. $ this-> pageNums;
- $ NextPageUrl = $ this-> subPage_link. ($ this-> current_page + 1 );
- $ SubPageCss2Str. = "[Next Page]";
- $ SubPageCss2Str. = "[last page]";
- } Else {
- $ SubPageCss2Str. = "[Next Page]";
- $ SubPageCss2Str. = "[last page]";
- }
- Return $ subPageCss2Str;
- }
- }
// Test two different effects
- $ T = new Page (10,100, $ _ GET ['P'], 5, 'page _ class. php? P = ');
- Echo $ t-> subPageCss2 (); // call the classic paging function
Echo" ";
- Echo $ t-> subPageCss1 (); // call a common paging function
|