yii带条件搜索分页
控制层
use frontendmodelsStudUser; use yiidataPagination; use yiidbQuery;
/** * 查询 * * @author YING * @param void * @return void */ public function actionSearch() { //接值 $where=Yii::$app->request->get(); //实例化query $query=new Query(); $query->from("stud_user"); //判断 if(isset($where["sex"])&&$where["sex"]!=""){ //判断 if($where["sex"]=="男"){ $query->andWhere(["stud_sex"=>0]); } if($where["sex"]=="女"){ $query->andWhere(["stud_sex"=>1]); } }else{ $where["sex"]=""; } //年龄 if(isset($where["age"])&&$where["age"]!=""){ $query->andWhere([">","stud_age",$where["age"]]); }else{ $where["age"]=""; } //分页 $pagination = new Pagination(["totalCount" => $query->count()]); //条数 $pagination->setPageSize("3"); //条件 $query->offset($pagination->offset)->limit($pagination->limit); //执行 $userInfo=$query->all(); //print_r($userInfo);die; return $this->render("search",["userInfo"=>$userInfo,"page"=>$pagination,"where"=>$where]); } 模型层
<?php namespace frontendmodels; use Yii; use yiidbActiveRecord; class StudUser extends ActiveRecord { /** * 声明表名 * * @author YING * @param void * @return void */ public static function tableName() { return "{{%stud_user}}"; } /** * 验证规则 * * @author YING * @param void * @return void */ public function rules() { return [ ["stud_age","integer"], ]; } }
视图层
<?php use yiiwidgetsActiveForm; use yiihelpersUrl; use yiihelpersHtml; use yiiwidgetsLinkPager; ?> <?php $form=ActiveForm::begin([ "action"=>Url::toRoute(["admin/search"]), "method"=>"get", ]); echo "性别"," ",Html::input("text","sex",$where["sex"]); echo "年龄"," ",Html::input("text","age",$where["age"]); echo Html::submitButton("提交"); ActiveForm::end(); ?> <table class="table"> <tr> <td>序号</td> <td>姓名</td> <td>年龄</td> </tr> <?php foreach($userInfo as $val):?> <tr> <td><?= $val["stud_id"]?></td> <td><?= $val["stud_name"]?></td> <td><?= $val["stud_age"]?></td> </tr> <?php endforeach;?> </table> <?php echo LinkPager::widget([ "pagination" => $page,
"nextPageLabel"=>"下一页"
]);?>
分页的样式在
LinkPager.php中
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。