zoukankan      html  css  js  c++  java
  • yii2的分页和ajax分页

    要想使用Yii分页类
    第一步:在控制器层加载分页类
    use yiidataPagination;
    第二步: 使用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 yiihelpersHtml;
        use yiiwidgetsActiveForm;
        use yiiwidgetsLinkPager;
        use yiihelpersUrl;
    ?>

      在显示数据底部
    <?=
    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 yiiwebView;
    最后的效果和上面的效果是一样的!


  • 相关阅读:
    pat甲级 1155 Heap Paths (30 分)
    pat甲级 1152 Google Recruitment (20 分)
    蓝桥杯 基础练习 特殊回文数
    蓝桥杯 基础练习 十进制转十六进制
    蓝桥杯 基础练习 十六进制转十进制
    蓝桥杯 基础练习 十六进制转八进制
    51nod 1347 旋转字符串
    蓝桥杯 入门训练 圆的面积
    蓝桥杯 入门训练 Fibonacci数列
    链表相关
  • 原文地址:https://www.cnblogs.com/lmpxs/p/5344055.html
Copyright © 2011-2022 走看看