jiangtao01 2018-05-31 20:45:17 2594次浏览 0条评论 0 0 0

要想使用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;
最后的效果和上面的效果是一样的!
查:

    $data = Look::find();
    $pages = new Pagination(['totalCount'=>$data->count(),'pageSize'=>'5']);
    $look = $data->offset($pages->offset)->limit($pages->limit)->asArray()->all();
    
    return $this->render('index',[
        'pages' => $pages,
        'look'=>$look,
        ]);

//文件上传
{

    $model = new Look();

    if ($model->load(Yii::$app->request->post())) {
        $image = UploadedFile::getInstance($model,'look_img');
        $image->saveAs('uploads/'.$image);//设置图片的缓存位置
        $model->look_img = './uploads/'.$image;
        if ($model->save()) {
            return $this->redirect(['look/index']);
        }
    }

    return $this->render('create', [
        'model' => $model,
    ]);

//tel
['tel', 'match', 'pattern' => '/^13[123456789]{1}\d{8}$/','message' => '****'],

<?=$value['look_id']?> <?=$value['look_img']?> 删除
<?= LinkPager::widget([ 'pagination' => $pages, ]); ?>


$('.delete').click(function(){
    var url="?r=look/delete";
    var id=$(this).attr('id');
    var obj=$(this);
    $.ajax({
        url:url+'&id='+id,
        type:'post',
        dataType:'json',
        success:function(data){
            obj.parents('tr').remove();
        }
    });
});

    没有找到数据。
您需要登录后才可以评论。登录 | 立即注册