codeigniter实现get分页的方法


Posted in PHP onJuly 10, 2015

本文实例讲述了codeigniter实现get分页的方法。分享给大家供大家参考。具体实现方法如下:

public function project_search(){
  $this->load->library('pagination');
  $this->load->model('depart_mdl');
  //获取搜索需要的信息
  $data = $this->get_project_data();
  $get_data = $this->input->get();
  $data = array_merge($data,$get_data);
  //get分页配置
  $name = $get_data['name'];
  $username = $get_data['username'];
  $budget = $get_data['budget'];
  $type = $get_data['type'];
  $posttime_start = $get_data['posttime_start'];
  $posttime_end = $get_data['posttime_end'];
  $purchase_type = $get_data['purchase_type'];
  $depart_code = $get_data['depart_code'];
  $project_status = $get_data['project_status'];
  $bidder_way = $get_data['bidder_way'];
  $suffix = "?name=$name&username=$username&budget=$budget&type=$type&posttime_start=$posttime_start&posttime_end=$posttime_end&purchase_type=$purchase_type&depart_code=$depart_code&project_status=$project_status&bidder_way=$bidder_way";
  $config['base_url'] = site_url('project/project_search').$suffix;
  $config['total_rows'] = $this->db->count_all($this->db->dbprefix('project'));
  $config['per_page'] = 10;
  $config['page_query_string'] = TRUE;
  //偏移量
  $config['query_string_segment'] = 'page';
  $config['uri_segment'] = 3;
  $this->pagination->initialize($config);
  $user = $this->user_mdl->get_user_by_salary_no($this->session->userdata('salary_no'));
  $this->db->from('ustc_project');
  $this->db->join('ustc_admins','ustc_admins.salary_no=ustc_project.salary_no');
  if($user->role!=1){
    $depart_code = explode(',',$user->grant_depart_code);
    $this->db->where_in('grant_depart_code',$depart_code);
    $this->db->or_where('ustc_project.salary_no =',$this->session->userdata('salary_no'));
  }
  if($name != ''){
    $this->db->like('name',$name);
  }
  if($username != ''){
    $this->db->like('username',$get_data['username']);
  }
  if($budget != ''){
    $this->db->like('budget',$get_data['budget']);
  }
  if($type != ''){
    $this->db->where('type',$get_data['type']);
  }
  if($depart_code != ''){
    $this->db->where('depart_code',$get_data['depart_code']);
  }
  if($purchase_type != ''){
    $this->db->where('purchase_type',$get_data['purchase_type']);
  }
  if($project_status != ''){
    $this->db->where('project_status',$get_data['project_status']);
  }
  if($bidder_way != ''){
    $this->db->where('bidder_way',$get_data['bidder_way']);
  }
  //时间
  if($posttime_start != ''){
    $this->db->where('posttime > ',strtotime($get_data['posttime_start']));
  }
  if($posttime_end != ''){
    $this->db->where('posttime < ',strtotime($get_data['posttime_end']));
  }
  if(isset($get_data['page'])){
    $page_from = $get_data['page'];
  }else{
    $page_from = 0;
  }
  $this->db->order_by('posttime','desc');
  $projects = $this->db->limit($config['per_page'],$page_from)->get()->result_array();  
  //处理
  for($i=0;$i<count($projects);$i++){
    $projects[$i]['type'] = $this->manage_info_mdl->get_value_by_id($projects[$i]['type'])->value;
    $projects[$i]['purchase_type'] = $this->manage_info_mdl->get_value_by_id($projects[$i]['purchase_type'])->value;
    $projects[$i]['depart'] = $this->depart_mdl->get_depart_by_code($projects[$i]['depart_code'])->name;
  }
  $data['projects'] = $projects;
  //获取当前用户的角色
  $data['user_role'] = $this->user_mdl->get_user_by_salary_no($this->session->userdata('salary_no'))->role;  
  $this->_template('project_search',$data);
}

希望本文所述对大家基于codeigniter的php程序设计有所帮助。

PHP 相关文章推荐
如何把PHP转成EXE文件
Oct 09 PHP
phpmyadmin 访问被拒绝的真实原因
Jun 15 PHP
php设计模式 Interpreter(解释器模式)
Jun 26 PHP
PHP表单提交表单名称含有点号(.)则会被转化为下划线(_)
Dec 14 PHP
windows下PHP_intl.dll正确配置方法(apache2.2+php5.3.5)
Jan 14 PHP
PHP ignore_user_abort函数详细介绍和使用实例
Jul 15 PHP
PHP判断表达式中括号是否匹配的简单实例
Oct 22 PHP
IIS 7.5 asp Session超时时间设置方法
Apr 17 PHP
php实现微信公众平台发红包功能
Jun 14 PHP
ThinkPHP框架整合微信支付之JSAPI模式图文详解
Apr 09 PHP
laravel框架使用阿里云短信发送消息操作示例
Feb 15 PHP
php中加密解密DES类的简单使用方法示例
Mar 26 PHP
PHP基于phpqrcode生成带LOGO图像的二维码实例
Jul 10 #PHP
php基于Snoopy解析网页html的方法
Jul 09 #PHP
php生成固定长度纯数字编码的方法
Jul 09 #PHP
php随机获取金山词霸每日一句的方法
Jul 09 #PHP
PHP实现的QQ空间g_tk加密算法
Jul 09 #PHP
PHP自毁程序(慎用)
Jul 09 #PHP
PHP模板解析类实例
Jul 09 #PHP
You might like
用Apache反向代理设置对外的WWW和文件服务器
2006/10/09 PHP
PHP通用检测函数集合
2006/11/25 PHP
推荐25款php中非常有用的类库
2014/09/29 PHP
php简单压缩css样式示例
2016/09/22 PHP
PHP实现负载均衡session共享redis缓存操作示例
2018/08/22 PHP
Jquery实战_读书笔记1—选择jQuery
2010/01/22 Javascript
jquery选择器大全 全面详解jquery选择器
2014/03/06 Javascript
JavaScript中的Truthy和Falsy介绍
2015/01/01 Javascript
JavaScript中Date.toSource()方法的使用教程
2015/06/12 Javascript
AngularJs学习第五篇从Controller控制器谈谈$scope作用域
2016/06/08 Javascript
node+express制作爬虫教程
2016/11/11 Javascript
canvas仿iwatch时钟效果
2017/03/06 Javascript
vue货币过滤器的实现方法
2017/04/01 Javascript
Vue中保存用户登录状态实例代码
2017/06/07 Javascript
vuejs+element UI点击编辑表格某一行时获取内容填入表单的示例
2018/10/31 Javascript
Vue 处理表单input单行文本框的实例代码
2019/05/09 Javascript
python通过pil将图片转换成黑白效果的方法
2015/03/16 Python
python使用点操作符访问字典(dict)数据的方法
2015/03/16 Python
基于Python中单例模式的几种实现方式及优化详解
2018/01/09 Python
200行python代码实现2048游戏
2019/07/17 Python
python实现桌面气泡提示功能
2019/07/29 Python
Python学习笔记之列表推导式实例分析
2019/08/13 Python
django使用xadmin的全局配置详解
2019/11/15 Python
PyQt5中QTableWidget如何弹出菜单的示例代码
2020/02/23 Python
python实点云分割k-means(sklearn)详解
2020/05/28 Python
PyCharm MySQL可视化Database配置过程图解
2020/06/09 Python
使用OpenCV去除面积较小的连通域
2020/07/05 Python
检测浏览器是否支持html5视频的代码
2013/03/28 HTML / CSS
土耳其时尚潮流在线购物网站:Trendyol
2017/10/10 全球购物
瑞士设计师家具和家居饰品网上商店:Bruno Wickart
2019/03/18 全球购物
医科学校毕业生自荐信
2013/11/09 职场文书
美容院店长岗位职责
2014/04/08 职场文书
党性观念心得体会
2014/09/03 职场文书
村委会贫困证明范本
2014/09/17 职场文书
python Django框架快速入门教程(后台管理)
2021/07/21 Python
Python如何加载模型并查看网络
2022/07/15 Python