要想使用Yii分頁類
第一步:在控制器層加載分頁類
use yii\data\Pagination;
第二步: 使用model層查詢數據,並用分分頁,限制每頁的顯示條數
$data = User::find(); //User爲model層,在控制器剛開始use了field這個model,這兒能夠直接寫Field,開頭大小寫均可以,爲了規範,我寫的是大寫
$pages = new Pagination(['totalCount' =>$data->count(), 'pageSize' => '3']); //實例化分頁類,帶上參數(總條數,每頁顯示條數)
$model=$data->offset($pages->offset)->limit($pages->limit)
->all();
第三步:向視圖層傳送數據
return $this->render('show',[
'pages' => $pages,
]);
傳送數據的時候,用render函數,不然過去視圖層沒有樣式
第四步:
在視圖層頂層寫上
<?php
use yii\helpers\Html;
use yii\widgets\ActiveForm;
use yii\widgets\LinkPager;
use yii\helpers\Url;
?>
在顯示數據底部
<?=
LinkPager::widget([
'pagination' => $pages,
]);
?>
效果:
Yii框架裏面的ajax分頁,其實很簡單,
只需在
<?=
LinkPager::widget([
'pagination' => $pages,
]);
?>
後面加上下面這段代碼:
<?php $this->beginBlock('abc'); ?>
$(document).on('click','.pagination a',function(e){
e.preventDefault();
var url=$(this).attr('href');
$.get(url,function(msg){
//alert(msg);
$('#lists').html(msg);
});
});
<?php $this->endBlock(); $this->registerJs($this->blocks['abc'], View::POS_END); ?>
另外在視圖層頂部加上這一句話
use yii\web\View;
最後的效果和上面的效果是同樣的!
php