This article mainly introduces the pagination class customPage for adding js events in the thinkPHP framework. class. php provides the pagination class customPage in the form of a complete instance. class. php implementation code and analysis of ajax dynamic loading of data, set paging links and other functions, friends who need to refer to the next article mainly introduces thinkPHP framework can add js events pagination class customPage. class. php provides the pagination class customPage in the form of a complete instance. class. php implementation code and analysis of ajax dynamic loading of data, set pagination links and other functions, friends can refer to the following
This example describes the paging class customPage. class. php that can be added to the thinkPHP framework. We will share this with you for your reference. The details are as follows:
The paging class used for ajax to dynamically load data. paging events can be dynamically added to remove the href address in link.
'% TOTAL_ROW % record', 'prev' => 'previous page', 'next' => 'next page', 'First '=> '1... ', 'last' => '... % TOTAL_PAGE % ', 'theme' => '% FIRST % UP_PAGE % LINK_PAGE % DOWN_PAGE % END % ',); /*** architecture function ** @ param array $ total number of records of totalRows * @ param array $ number of records displayed on each page of listRows * @ param array $ parameter for paging jump */public function construct ($ totalRows, $ listRows = 20, $ parameter = array () {C ('Var _ page') & $ this-> p = C ('Var _ page ');/ /Set the paging parameter name/* Basic Settings */$ this-> totalRows = $ totalRows; // set the total number of records $ this-> listRows = $ listRows; // set the number of lines displayed on each page. $ this-> parameter = empty ($ parameter )? $ _ GET: $ parameter; $ this-> nowPage = empty ($ _ GET [$ this-> p])? 1: intval ($ _ GET [$ this-> p]); $ this-> totalPages = ceil ($ this-> totalRows/$ this-> listRows ); // total page number if ($ this-> nowPage> $ this-> totalPages) {$ this-> nowPage = $ this-> totalPages ;} $ this-> nowPage = $ this-> nowPage> 0? $ This-> nowPage: 1; $ this-> firstRow = $ this-> listRows * ($ this-> nowPage-1 );} /*** custom paging link setting * @ param string $ name set name * @ param string $ value set value */public function setConfig ($ name, $ value) {if (isset ($ this-> config [$ name]) {$ this-> config [$ name] = $ value ;}} /*** generate link URL * @ param integer $ page number * @ return string */private function url ($ PAGE) {return str_replace (urlencode ('[page]'), $ page, $ This-> url);}/*** assemble the paging link * @ return string */public function show () {if (0 = $ this-> totalRows) return '';/* generate URL */$ this-> parameter [$ this-> p] = '[ PAGE] '; $ this-> url = U (ACTION_NAME, $ this-> parameter);/* calculate the page information */if (! Empty ($ this-> totalPages) & $ this-> nowPage> $ this-> totalPages) {$ this-> nowPage = $ this-> totalPages ;} /* calculate the temporary paging variable */$ now_cool_page = $ this-> rollPage/2; $ now_cool_page_ceil = ceil ($ now_cool_page ); $ this-> lastSuffix & $ this-> config ['last'] = $ this-> totalPages; // Previous Page $ up_row = $ this-> nowPage-1; $ up_page = $ up_row> 0? 'Previous page ': ''; // Next Page $ down_row = $ this-> nowPage + 1; $ down_page = ($ down_row <= $ this-> totalPages )? 'Next Page': ''; // The first page $ the_first = ''; if ($ this-> totalPages> $ this-> rollPage & ($ this-> nowPage-$ now_cool_page) >=1) {$ the_first = 'first page ';} // The Last Page $ the_end = ''; // if ($ this-> totalPages> $ this-> rollPage & ($ this-> nowPage + $ now_cool_page) <$ this-> totalPages) {if ($ this-> totalPages> $ this-> rollPage & ($ this-> nowPage + $ now_cool_page) <$ this-> totalPages) {$ the_end = 'totalrows. '"href =" expose Crip T :; "rel =" external nofollow "=" external nofollow "> Last page ';} for ($ I = 1; $ I <= $ this-> rollPage; $ I ++) {if ($ this-> nowPage-$ now_cool_page) <= 0) {$ page = $ I;} elseif ($ this-> nowPage + $ now_cool_page-1) >=$ this-> totalPages) {$ page = $ this-> totalPages-$ this-> rollPage + $ I;} else {$ page = $ this-> nowPage-$ now_cool_page _ Ceil + $ I;} if ($ page> 0 & $ page! = $ This-> nowPage) {if ($ page <= $ this-> totalPages) {$ link_page. = ('
'. $ Page .'');} Else {break;} else {if ($ page> 0 & $ this-> totalPages! = 1) {$ link_page. = ('
'. $ Page .'') ;}} If (! Empty ($ link_page) $ link_page ='
'; // Replace the page content $ page_str = str_replace (array (' % HEADER % ',' % NOW_PAGE % ',' % UP_PAGE % ',' % DOWN_PAGE % ', '% FIRST %', '% LINK_PAGE %', '% END %', '% TOTAL_ROW %', '% TOTAL_PAGE % '), array ($ this-> config ['head'], $ this-> nowPage, $ up_page, $ down_page, $ the_first, $ link_page, $ the_end, $ this-> totalRows, $ this-> totalPages), $ this-> config ['theme ']); $ page_str = trim ($ page_str); if (! Empty ($ page_str) $ page_str. ='
Jump '; return $ page_str ;}}
The above is the details of the complete sample code of the paging class that can be added to js events in the thinkPHP framework. For more information, see other related articles in the first PHP community!