表的名称是message,在curd生成message的controller,model,view之后,在models目录下找到MessageSearch.php

 

复制public function search方法并修改为

public function search_by_criteria($params)
    {

        $query = Message::find();

        $dataProvider = new ActiveDataProvider([
            'query' => $query,
            'pagination' => [
                        //'pageSize' => 1,
            ],//这里是(多少条数据/页)
        ]);
       
        $this->load($params);

        if (!$this->validate()) {
            return $dataProvider;
        }

        //以下为数据过滤
        
        //默认id是索引
        $query->andFilterWhere([
            'id' => $this->id,
        ]);

        //判断起始时间和结束时间

        $start_time = Yii::$app->request->get('MessageSearch')['start_time'];
        $end_time = Yii::$app->request->get('MessageSearch')['end_time'];
        if (isset($start_time) && !empty($start_time) && isset($end_time) && !empty($end_time)) {  
            $query->andFilterWhere(['between', 'time', strtotime($start_time." 00:00:00"),strtotime($end_time." 24:00:00")]);
        }
        



        $query//->andFilterWhere(['like', 'time', $this->time])
                //andFilterWhere(['between', 'time', "1495934140","1495935255"])
            ->andFilterWhere(['like', 'shouji', $this->shouji])
            ->andFilterWhere(['like', 'gupiao', $this->gupiao])
            ->andFilterWhere(['like', 'is_check', $this->is_check]);
  
        return $dataProvider;
        
    }

注意加上

//上海时区
date_default_timezone_set('Asia/Shanghai');

 

在view中添加按条件搜索的form,其中起始时间和结束时间都用了datetimepicker插件(具体用法见官方demo)

<div class="row">
<form action="" method="get">
    
<label class="col-sm-1 control-label">条件搜索</label>
<input name="r" type="hidden" value="message/index" /><br/>
<!-- 起始日期 -->
<div class="col-md-2">
           <div class="input-group date time_pick" data-date="" data-date-format="yyyy-mm-dd " data-link-field="dtp_input1" data-link-format="yyyy-mm-dd">
                     
                     <input id="hehe" class="form-control" size="16" type="text" value="" placeholder="起始日期" readonly>
                     <span class="input-group-addon">
                                <span class="glyphicon glyphicon-remove"></span>
                     </span>
           </div>
           <input name="MessageSearch[start_time]" type="hidden" id="dtp_input1" value="" /><br/>
</div>


<!-- 结束日期 -->
<div class="col-md-2">
           <div class="input-group date time_pick" data-date="" data-date-format="yyyy-mm-dd " data-link-field="dtp_input2" data-link-format="yyyy-mm-dd">
                     <input class="form-control" size="16" type="text" value="" placeholder="结束日期" readonly>
                     <span class="input-group-addon">
                                <span class="glyphicon glyphicon-remove"></span>
                     </span>
           </div>
           <input name="MessageSearch[end_time]" type="hidden" id="dtp_input2" value="" /><br/>       
</div>


<!--手机号-->
<div class="col-md-2"> 
            <input name="MessageSearch[shouji]" class="form-control" maxlength="11" type="text" value="" placeholder="搜索手机号码">
</div>
<!--股票代码-->
<div class="col-md-2"> 
            <input name="MessageSearch[gupiao]" class="form-control" maxlength="6" type="text" value="" placeholder="搜索股票代码">
</div>

<!--信息状态-->      
<div class="col-md-2">
          <select name="MessageSearch[is_check]" id="disabledSelect" class="form-control">
                    <option value="">全部状态</option>
                    <option value="0">未查看</option>
                    <option value="1">已查看</option>
          </select>
</div>

<button class="btn btn-default" type="submit">开始查询</button>
</form>

</div>

 

最后controller里面是

public function actionIndex()
    {    
        $searchModel = new MessageSearch();
        $dataProvider = $searchModel->search_by_criteria(Yii::$app->request->queryParams);

        return $this->render('index', [
            //'searchModel' => $searchModel,
            'dataProvider' => $dataProvider,
        ]);
    }

 

posted on 2017-06-17 16:44  longzhankunlun  阅读(766)  评论(0)    收藏  举报