yii2的分頁和ajax分頁

要想使用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

相關文章
相關標籤/搜索