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, //搜索的默認值
]);
}