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下关于中英数字混排的字符串分割问题
Apr 06 PHP
PHP三层结构(上) 简单三层结构
Jul 04 PHP
Memcached常用命令以及使用说明详解
Jun 27 PHP
php中运用http调用的GET和POST方法示例
Sep 29 PHP
一张表搞清楚php is_null、empty、isset的区别
Jul 07 PHP
PHP的关于变量和日期处理的一些面试题目整理
Aug 10 PHP
PHP编写daemon process 实例详解
Nov 13 PHP
PHP页面跳转实现延时跳转的方法
Dec 10 PHP
Redis构建分布式锁
Mar 28 PHP
Yii 2.0自带的验证码使用经验分享
Jun 19 PHP
利用Homestead快速运行一个Laravel项目的方法详解
Nov 14 PHP
PHP常用字符串函数小结(推荐)
Aug 05 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
php中hashtable实现示例分享
2014/02/13 PHP
php正则判断是否为合法身份证号的方法
2017/03/16 PHP
JavaScript Cookie的读取和写入函数
2009/12/08 Javascript
40个有创意的jQuery图片和内容滑动及弹出插件收藏集之二
2011/12/31 Javascript
window.open的页面如何刷新(父页面)上层页面
2012/12/28 Javascript
JavaScript 处理Iframe自适应高度(同或不同域名下)
2013/03/29 Javascript
jQuery Mobile的loading对话框显示/隐藏方法分享
2013/11/26 Javascript
javascript使用百度地图api和html5特性获取浏览器位置
2014/01/10 Javascript
jquery序列化表单去除指定元素示例代码
2014/04/10 Javascript
JQuery的Ajax中Post方法传递中文出现乱码的解决方法
2014/10/21 Javascript
js中document.write的那点事
2014/12/12 Javascript
浅谈javascript中的加减时间
2016/07/12 Javascript
JQuery查找子元素find()和遍历集合each的方法总结
2017/03/07 Javascript
js 去掉字符串前后空格实现代码集合
2017/03/25 Javascript
Ionic + Angular.js实现图片轮播的方法示例
2017/05/21 Javascript
微信小程序里引入SVG矢量图标的方法
2019/09/20 Javascript
Postman内建变量常用方法实例解析
2020/07/28 Javascript
浅谈vue使用axios的回调函数中this不指向vue实例,为undefined
2020/09/21 Javascript
浅谈es6中的元编程
2020/12/01 Javascript
使用Python中的greenlet包实现并发编程的入门教程
2015/04/16 Python
深入理解Python变量与常量
2016/06/02 Python
python实现感知器
2017/12/19 Python
Python的numpy库中将矩阵转换为列表等函数的方法
2018/04/04 Python
Python3中的json模块使用详解
2018/05/05 Python
python检测空间储存剩余大小和指定文件夹内存占用的实例
2018/06/11 Python
Python使用sax模块解析XML文件示例
2019/04/04 Python
Python3 ID3决策树判断申请贷款是否成功的实现代码
2020/05/21 Python
如何用Python 实现全连接神经网络(Multi-layer Perceptron)
2020/10/15 Python
德国童装购物网站:NICKI´S.com
2018/04/20 全球购物
霸王洗发水广告词
2014/03/14 职场文书
优秀公益广告词大全
2014/03/19 职场文书
2015年“世界无车日”活动方案
2015/05/06 职场文书
大学生活感想
2015/08/10 职场文书
九年级历史教学反思
2016/02/19 职场文书
导游词之青岛太清宫
2019/12/13 职场文书
nginx配置文件使用环境变量的操作方法
2021/06/02 Servers