人人人妻人人人妻人人人,99精品国产综合久久久久五月天 ,欧美白人最猛性XXXXX,日韩AV无码免费播放

News新聞

業(yè)界新聞動(dòng)態(tài)、技術(shù)前沿
Who are we?

您的位置:首頁(yè)      樂(lè)道系統(tǒng)FAQ      thinkPHP5使用laypage分頁(yè)插件實(shí)現(xiàn)列表分頁(yè)功能

thinkPHP5使用laypage分頁(yè)插件實(shí)現(xiàn)列表分頁(yè)功能

標(biāo)簽: 發(fā)布日期:2017-11-28 00:00:00 307
【CLI】利用Curl下載文件實(shí)時(shí)進(jìn)度條顯示的實(shí)現(xiàn)

一、背景 

      在使用thinkPHP框架做項(xiàng)目的時(shí)候,經(jīng)常會(huì)遇到對(duì)列表的內(nèi)容進(jìn)行分頁(yè)。thinkPHP框架中自帶了分頁(yè)功能,但是有缺陷。這個(gè)缺陷是每次返回每頁(yè)數(shù)據(jù)給頁(yè)面時(shí)需要重新加載頁(yè)面所需要的JS、CSS等資源。如果頁(yè)面包含的JS過(guò)多、過(guò)大,會(huì)增加流量壓力。因此,我們使用laypage插件。每次使用ajax請(qǐng)求獲取每頁(yè)的數(shù)據(jù)就可以了,不需要重復(fù)加載頁(yè)面。

二、分頁(yè)流程

如下圖所示:

流程說(shuō)明:

        1) 調(diào)研App.php中的函數(shù),該函數(shù)調(diào)用fetch函數(shù)。fetch函數(shù)渲染list.html.
        2) list.html 調(diào)用獲取總頁(yè)數(shù)的函數(shù),并得到總頁(yè)數(shù)。
        3) 獲取第一頁(yè)數(shù)據(jù)。
        4)初始化laypage分頁(yè)插件。
        5)點(diǎn)擊頁(yè)碼,觸發(fā)分頁(yè)查詢。

三、實(shí)現(xiàn)分頁(yè)功能相關(guān)的代碼

1、App.php Controller的代碼

//fetch渲染頁(yè)面 
public function index() 
{ 
 return $this->fetch('list'); 
} 
 
 
 
 //根據(jù)頁(yè)面?zhèn)魅氲捻?yè)碼查詢數(shù)據(jù) 
 public function getPage() 
 { 
   
   <span style="color:#FF0000;">// 獲取頁(yè)面?zhèn)魅氲捻?yè)碼 </span>      
   $nowpage = input("page"); 
   //每頁(yè)顯示10條數(shù)據(jù) 
   $limits = 10; 
 
   $app = new appInfo(); 
   $page_info = $app->limit(($nowpage * $limits), $limits)->select(); 
 
   // ajax 分頁(yè)輸出 
   $info = ['pageinfo'=>$page_info,'nowpage'=>$nowpage,'nowpage'=>$nowpage]; 
 
  return json($info); 
 
 
 } 
 
 
 //獲取所有頁(yè)數(shù) 
public function getAllPage(){ 
 
 try{ 
  $count = appInfo::count(); 
 
  $limits = 10; 
  // 計(jì)算總頁(yè)面 
  $allpage = ceil($count / $limits); 
 
  $info =['allpage'=>$allpage]; 
 }catch (\Exception $e){ 
  abort(500,$e->getMessage(),['result'=>TopsecGWErrer::TOPSEC_GW_ERR_NO_UNKNOWN]); 
 } 
 
 return json($info); 
}