zoukankan      html  css  js  c++  java
  • Yii2.0 多条件搜索 带分页

                                   方法一

      在控制器中

    public function actionShow(){
    $where['title']=Yii::$app->request->get('title');
      $where['content']=Yii::$app->request->get('content');
      $query=new Query();
      $query->from('votes');
      // votes 是表名
      if(!empty($where['title'])||!empty($where['content'])){
    $query->andFilterWhere(
    ['like','title',$where['title']]
    )->orFilterWhere(
    ['like','content',$where['content']]
    );
      }
    $users=$query->from('votes')->all();
      $pages = new Pagination(['totalCount' =>$query->count(),'pageSize'=>'2']);
      $users = $query->offset($pages->offset)->limit($pages->limit)->all();
      return
    $this->render('show',['data'=>$users,'where'=>$where,'pages'=>$pages]);

    }

    在V层

    <?php
    use yiihelpersHtml;
    use yiiwidgetsActiveForm;
    use yiihelpersUrl;
    use yiiwidgetsLinkPager;
    ?>


    <?php
    $form=ActiveForm::begin([
    'action'=>Url::toRoute(['show']),
    'method'=>'get',
    ])
    ;
    echo '姓名',"&nbsp",Html::input('text','title');
    echo '简介',"&nbsp",Html::input('text','content');
    echo Html::submitButton('提交');
    ActiveForm::end();
    echo "<br/>";
    echo "<br/>";
    ?>

    显示在v层的分页

    <?php
    echo LinkPager::widget([
    'pagination'=>$pages,
    'nextPageLabel'=>'下一页',
    'firstPageLabel'=>'首页'
    ])
    ?>


                方法二(不带分页 是另外一种方法)

    public function actionShow(){
      $titles=Yii::$app->request->post('title');
      $content=Yii::$app->request->post('content');
      $where=1;
      if($titles!=""){
        $where.=" and title like '%$titles%'";
      }
      if($content!=""){
        $where.=" and content like '%$content%'";
      }
      $sql="select * from votes where $where";
      $users=Yii::$app->db->createCommand($sql)->query();
      return $this->render('show',['data'=>$users]);
    }

              作者:Hong —— Eternity

              出处:http://www.cnblogs.com/Pxhphp/

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    HDU 5650 异或
    HDU 5646
    HDU 5645
    P2075 [NOIP2012T5]借教室 区间更新+二分查找
    HDU 5641
    读写分离
    linux执行cmd之一
    html2image
    挂载引起的权限问题
    如何防止sql注入
  • 原文地址:https://www.cnblogs.com/Pxhphp/p/6229459.html
Copyright © 2011-2022 走看看