欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

YII框架中搜索分页jQuery写法详解

程序员文章站 2024-03-05 21:29:43
控制层 use frontend\models\studuser; use yii\data\pagination; use yii\db\query; /...

控制层

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 '{{%stud_user}}';
   }
  /**
   * 验证规则
   *
   */
  public function rules()
  {
    return [
      ['stud_age','integer'],
    ];
  }
}

视图层

<?php
use yii\widgets\activeform;
use yii\helpers\url;
use yii\helpers\html;
use yii\widgets\linkpager;
?>
<?php
$form=activeform::begin([
  'action'=>url::toroute(['admin/search']),
  'method'=>'get',
]);
echo '性别',"&nbsp",html::input('text','sex',$where['sex']);
echo '年龄',"&nbsp",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中

以上所述是小编给大家介绍的yii框架中搜索分页jquery写法详解,希望对大家有所帮助