午夜91福利视频,午夜成人在线观看,午夜在线视频免费观看,午夜福利短视频,精品午夜成人免费视频APP

分頁

分頁實現

版本 新增功能
5.0.5 分頁方法返回think\Paginator對象(用法不變)
5.0.1 支持第二個參數直接傳入總記錄數

ThinkPHP5.0內置了分頁實現,要給數據添加分頁輸出功能在5.0變得非常簡單,可以直接在Db類查詢的時候調用paginate方法:

// 查詢(xun)狀態為1的用戶數(shu)據 并(bing)且每(mei)頁(ye)顯示(shi)10條數(shu)據
$list = Db::name('user')->where('status',1)->paginate(10);
// 把分(fen)頁(ye)數據賦值給模板變量list
$this->assign('list', $list);
// 渲染模板輸出
return $this->fetch();

也可以改成模型(xing)的分(fen)頁查(cha)詢代碼:

// 查詢狀態為1的用戶(hu)數據(ju) 并且每(mei)頁顯示10條數據(ju)
$list = User::where('status',1)->paginate(10);
// 把分頁數據賦值給(gei)模板變(bian)量list
$this->assign('list', $list);
// 渲染模(mo)板(ban)輸出
return $this->fetch();

模板文件中分(fen)頁(ye)輸出代碼如下(xia):

<div>
<ul>
{volist name='list' id='user'}
    <li> {$user.nickname}</li>
{/volist}
</ul>
</div>
{$list->render()}

也可以單獨賦值分頁(ye)輸出(chu)的模(mo)板變(bian)量

// 查(cha)詢狀態為1的用戶數(shu)據 并且每頁顯示10條數(shu)據
$list = User::where('status',1)->paginate(10);
// 獲取分頁(ye)顯示(shi)
$page = $list->render();
// 模板變量賦(fu)值
$this->assign('list', $list);
$this->assign('page', $page);
// 渲染模板輸出
return $this->fetch();

模板文件中分頁(ye)輸出代碼(ma)如下:

<div>
<ul>
{volist name='list' id='user'}
    <li> {$user.nickname}</li>
{/volist}
</ul>
</div>
{$page}

默認情況下,生(sheng)成的分頁(ye)輸出是完整分頁(ye)功能,帶總分頁(ye)數(shu)據和上下頁(ye)碼,分頁(ye)樣(yang)式只需要通過樣(yang)式修改即可,完整分頁(ye)默認生(sheng)成的分頁(ye)輸出代碼為:

<ul class="pagination">
<li><a href="?page=1">&laquo;</a></li>
<li><a href="?page=1">1</a></li>
<li class="active"><span>2</span></li>
<li class="disabled"><span>&raquo;</span></li>
</ul>

傳入總記錄數( V5.0.1

V5.0.1版本開始,支(zhi)持傳入總記錄數而不會自(zi)動進行總數計算(suan),例(li)如:

// 查詢狀(zhuang)態為(wei)1的用戶數據(ju) 并且每頁(ye)顯示10條數據(ju) 總記錄(lu)數為(wei)1000
$list = User::where('status',1)->paginate(10,1000);
// 獲(huo)取分頁顯(xian)示
$page = $list->render();
// 模板變量賦值
$this->assign('list', $list);
$this->assign('page', $page);
// 渲染模板輸出
return $this->fetch();

分頁后數據處理 (V5.0.9

V5.0.9版本開始 支持分頁類后數據直接each遍歷處理(li),方便修改分頁后的數(shu)據(ju),而不是只能通過模型的獲取器來補充字段。

$list = User::where('status',1)->paginate()->each(function($item, $key){
    $item->nickname = 'think';
});

如(ru)果是Db類操作分(fen)頁數據的話,each方(fang)法的閉(bi)包(bao)函數中需(xu)要(yao)使用返(fan)回(hui)值,例如(ru):

$list = Db::name('user')->where('status',1)->paginate()->each(function($item, $key){
    $item['nickname'] = 'think';
    return $item;
});

簡潔分頁

如果(guo)你(ni)僅僅需要輸(shu)(shu)出一(yi)個(ge) 僅僅只有上下(xia)頁的(de)分頁輸(shu)(shu)出,可以使用下(xia)面的(de)簡潔分頁代碼(ma):

// 查詢狀態為(wei)1的用戶(hu)數據(ju) 并且(qie)每頁顯示10條數據(ju)
$list = User::where('status',1)->paginate(10,true);
// 把(ba)分(fen)頁數據賦值給(gei)模板變量(liang)list
$this->assign('list', $list);
// 渲染模板輸出
return $this->fetch();

簡(jian)潔分頁模式的輸出代碼為:

<ul class="pager">
<li><a href="?page=1">&laquo;</a></li>
<li class="disabled"><span>&raquo;</span></li>
</ul>

由于簡潔分(fen)頁模式不需要查詢(xun)總數據數,因此(ci)可以提高(gao)查詢(xun)性能。

分頁參數

主要的(de)分頁參數如下(xia):

參數 描述
list_rows 每頁數量
page 當前頁
path url路徑
query url額外參數
fragment url錨點
var_page 分頁變量
type 分頁類名

分頁參數的設置(zhi)方(fang)式有(you)兩種,第一種是在配置(zhi)文(wen)件中定義,例(li)如(ru):

//分(fen)頁配置
'paginate'               => [
    'type'     => 'bootstrap',
    'var_page' => 'page',
],

type屬性支持命(ming)名空(kong)間,例如:

//分頁配置
'paginate'               => [
    'type'     => '\org\page\bootstrap',
    'var_page' => 'page',
],

也可以在調(diao)用分頁(ye)方法的時候傳入,例如:

$list = Db::name('user')->where('status',1)->paginate(10,true,[
    'type'     => 'bootstrap',
    'var_page' => 'page',
]);
文檔最后更新時間:2018-04-26 10:53:13

文檔
目錄

深色
  模(mo)式(shi)

切換
寬度(du)