>php教程 >PHP开发 >YII 프레임워크에서 검색 페이지 매기기 jQuery를 작성하는 방법에 대한 자세한 설명

YII 프레임워크에서 검색 페이지 매기기 jQuery를 작성하는 방법에 대한 자세한 설명

高洛峰
高洛峰원래의
2016-12-23 16:55:281212검색

컨트롤 레이어

use frontend\models\StudUser;
use yii\data\Pagination;
use yii\db\Query;
/**
 * 查询
 *
 */
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 frontend\models;
use Yii;
use yii\db\ActiveRecord;
class StudUser extends ActiveRecord
{
  /**
   * 声明表名
   *
   */
   public static function tableName()
   {
     return &#39;{{%stud_user}}&#39;;
   }
  /**
   * 验证规则
   *
   */
  public function rules()
  {
    return [
      [&#39;stud_age&#39;,&#39;integer&#39;],
    ];
  }
}

뷰 레이어

<?php
use yii\widgets\ActiveForm;
use yii\helpers\Url;
use yii\helpers\Html;
use yii\widgets\LinkPager;
?>
<?php
$form=ActiveForm::begin([
  &#39;action&#39;=>Url::toRoute([&#39;admin/search&#39;]),
  &#39;method&#39;=>&#39;get&#39;,
]);
echo &#39;性别&#39;," ",Html::input(&#39;text&#39;,&#39;sex&#39;,$where[&#39;sex&#39;]);
echo &#39;年龄&#39;," ",Html::input(&#39;text&#39;,&#39;age&#39;,$where[&#39;age&#39;]);
echo Html::submitButton(&#39;提交&#39;);
ActiveForm::end();
?>
<table class="table">
<tr>
  <td>序号</td>
  <td>姓名</td>
  <td>年龄</td>
</tr>
  <?php foreach($userInfo as $val):?>
    <tr>
      <td><?= $val[&#39;stud_id&#39;]?></td>
      <td><?= $val[&#39;stud_name&#39;]?></td>
      <td><?= $val[&#39;stud_age&#39;]?></td>
    </tr>
  <?php endforeach;?>
</table>
<?php
echo LinkPager::widget([
  &#39;pagination&#39; => $page,
  &#39;nextPageLabel&#39;=>&#39;下一页&#39;
 ]);?>

페이징 스타일은

LinkPager.php에 있습니다.

이상은 에디터가 소개한 YII 프레임워크에서 검색 페이징 jQuery를 작성하는 방법에 대한 자세한 설명입니다. 궁금한 점이 있으면 메시지를 남겨주세요. 편집자가 제때에 답변해 드릴 것입니다. 또한 Script House 웹사이트를 지원해 주시는 모든 분들께 감사의 말씀을 전하고 싶습니다!

YII 프레임워크에서 검색 페이징 jQuery를 작성하는 방법에 대한 자세한 설명은 PHP 중국어 웹사이트를 참고하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.