YII框架中自带的表单,搜索,分页代码的实现

来源:互联网 发布:淘宝如何申请退货退款 编辑:程序博客网 时间:2024/05/22 10:51

YII框架中自带的表单,搜索,分页代码的实现

控制器代码:

use yii\data\Pagination;
然后写个控制器/方法

/**     * 搜索后分页     */    public function actionList(){        $where=Yii::$app->request->get();        $query=new \yii\db\Query();        $query->from('user');        if(!empty($where['name'])){            $query->andWhere(['name'=>$where['name']]);        }        if(!empty($where['age1']) && $where['age1']!==""){            $query->andWhere(['>=','age',$where['age1']]);        }        if(!empty($where['age2']) && $where['age2']!==""){            $query->andWhere(['<=','age',$where['age2']]);        }        $users=$query->from('user')->all();       // var_dump($users);die;        $pages = new Pagination(['totalCount' =>$query->count(),'pageSize'=>'1']);    //实例化分页类,带上参数(总条数,每页显示条数)        $users = $query->offset($pages->offset)->limit($pages->limit)->all();       return  $this->render('list.php',['users'=>$users,'where'=>$where,'pages'=>$pages]);    }}
接着在视图层

<?phpuse yii\widgets\ActiveForm;use yii\helpers\Html;use yii\helpers\Url;use yii\widgets\LinkPager;?><?php    $form=ActiveForm::begin([        'action'=>Url::toRoute(['show/list']),        'method'=>'get',    ]);    echo '姓名:'.Html::input('text','name');    echo '年龄区间:'. Html::input('text','age1');    echo '-'.Html::input('text','age2');    echo Html::submitButton();ActiveForm::end();?><table class="table"><?php foreach ($users  as  $user):  ?><tr>    <td><?php echo $user['name']  ?></td>    <td><?php echo $user['pwd']  ?></td>    <td><?php echo $user['age']  ?></td></tr><?php  endforeach; ?></table><?phpecho LinkPager::widget([    'pagination'=>$pages,    'nextPageLabel'=>'下一页',    'firstPageLabel'=>'首页'])?>
阅读全文
0 0
原创粉丝点击