php 日期范围查询分页,Thinkphp3.2 多条件数据分页查询

/**

* 学员信息列表

*/

public function select() {

//==================报考细分类别=========================

$zidian=M('Zidian');

$resList=$zidian->where("kind='报考细分类别'")->select();

$this->assign('zidianList',$resList);

//==================报考细分类别 end=========================

// utf-8编码

header('Content-Type: text/html; charset=utf-8');

$student = M('Student');

// 实例化User对象

//构造查询条件

$student_name = $_GET['student_name'];

$apply_detail_type = $_GET['apply_detail_type'];

$sdate = $_GET['sdate'];

$edate = $_GET['edate'];

$this -> assign('student_name', $student_name);

$this -> assign('apply_detail_type', $apply_detail_type);

$this -> assign('sdate', $sdate);

$this -> assign('edate', $edate);

//查询条件回显

//================================传递查询条件=========================================

if($student_name!=null && $student_name !=''){

$condition['student_name'] = array('like', "%" . $student_name . "%");

}

if($apply_detail_type!=null && $apply_detail_type !=''){

$condition['apply_detail_type'] = array('eq', $apply_detail_type);

}

if($sdate!=null && $sdate !='' && $edate!=null && $edate !=''){

$condition['add_date'] = array(array('egt',$sdate),array('elt',$edate));

}

//================================传递查询条件end=========================================

$count = $student -> where($condition) -> count();

// 查询满足要求的总记录数

$Page = new ThinkPage($count, 100);

// 实例化分页类 传入总记录数和每页显示的记录数(25)

foreach ($condition as $key => $val) {

if (!is_array($val)) {

$Page -> parameter .= "$key=" . urlencode($val) . '&';

}

}

$show = $Page -> show();

// 分页显示输出

// 进行分页数据查询 注意limit方法的参数要使用Page类的属性

// 此处有一BUG,到数据量没达到分页条数时。不会显示分页导航表

$list = $student -> limit($Page -> firstRow . ',' . $Page -> listRows) -> order('id desc') -> where($condition) -> select();

$this -> assign('studentList', $list);

// 赋值数据集

$this -> assign('page', $show);

// 赋值分页输出

$this -> display();

// 输出模板

}

你可能感兴趣的:(php,日期范围查询分页)