yii框架中,搜索的表单和后台执行,以及分页



view层

<?php

use yii\widgets\LinkPager;
use yii\widgets\ActiveForm;
use yii\helpers\Html;
use yii\helpers\Url;

$form=ActiveForm::begin([
        'action'=>Url::toRoute(['admin/search']), //跳转的地址
        'method'=>'get',

    ]);
  echo '班级名称:','',Html::input('text','cla_name',$data['cla_name']);
  echo '简介关键字:',Html::input('text','cla_desc',$data['cla_desc']);
  echo '添加时间:',Html::input('text','cla_time',$data['cla_time']);
  echo Html::submitButton('查询');
ActiveForm::end();

?>

控制器层  搜索和搜索时分页

/**
     * 管理员搜索查看那些课程
     * 分页显示  
     * 多条件搜索
     *  
     */
    public function actionSearch(){
      //接搜索传过来的值
      $data=yii::$app->request->get();
      //实例化查询类
      $query=new \yii\db\Query();
      //查询表
      $query->from('classes');
      //判断班级名称的值是否存在,不存在则为空
      if(isset($data['cla_name'])&&$data['cla_name']!=''){
        $query->andWhere(['like','cla_name',$data['cla_name']]);   //是andWhere  不是addwhere  括号里是数组
      }else{
        $data['cla_name']='';
      }
      //判断班级描述是否为空,否则的话就为空
      if(isset($data['cla_name'])&&$data['cla_desc']!=''){
          $query->andWhere(['like','cla_desc',$data['cla_desc']]);
      }else{
          $data['cla_desc']='';
      }
      //判断添加的时间   (特殊情况,在此不在进行判断,直接赋值是空)
      $data['cla_time']='';

      // $cla=new Classes();
      // $arr=$cla->find();
      $pages= new Pagination([
            'totalCount'=>$query->count(),
            'pageSize'  => 2   //每页显示条数

            ]);
      $models = $query->offset($pages->offset)  //查询出来的每一页的
                  ->limit($pages->limit)
                  ->all();  
      return $this->render('search', [
                'models' => $models,
                'pages'  => $pages,
                'data'   =>$data,  //搜索的默认值
        ]);
     
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值