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 相关文章推荐
相对路径转化成绝对路径
Apr 10 PHP
收藏的PHP常用函数 推荐收藏保存
Feb 21 PHP
匹配csdn用户数据库与官方用户的重合度并将重叠部分的用户筛选出来
Dec 25 PHP
如何使用Strace调试工具
Jun 03 PHP
PHP小技巧之JS和CSS优化工具Minify的使用方法
May 19 PHP
laravel 5 实现模板主题功能
Mar 02 PHP
PHP使用flock实现文件加锁的方法
Jul 01 PHP
Thinkphp模板标签if和eq的区别和比较实例分析
Jul 01 PHP
PHP实现二叉树的深度优先与广度优先遍历方法
Sep 28 PHP
PHP类的特性实例分析
Sep 28 PHP
PHP进制转换实例分析(2,8,16,36,64进制至10进制相互转换)
Feb 04 PHP
PHP发送邮件确认验证注册功能示例【修改别人邮件类】
Nov 09 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生成唯一的促销/优惠/折扣码(附源码)
2012/12/28 PHP
win平台安装配置Nginx+php+mysql 环境
2016/01/12 PHP
PHP检测链接是否存在的代码实例分享
2016/05/06 PHP
PHP sdk文档处理常用代码示例解析
2020/12/09 PHP
javascript引用对象的方法
2007/01/11 Javascript
jQuery实现鼠标滑过遮罩并高亮显示效果
2013/07/16 Javascript
jquery ajax jsonp跨域调用实例代码
2013/12/11 Javascript
javascript制作的cookie封装及使用指南
2015/01/02 Javascript
javascript实现图片跟随鼠标移动效果的方法
2015/05/13 Javascript
SWFObject基本用法实例分析
2015/07/20 Javascript
jquery实现仿新浪微博评论滚动效果
2015/08/06 Javascript
JS实现密码框根据焦点的获取与失去控制文字的消失与显示效果
2015/11/26 Javascript
Select2.js下拉框使用小结
2016/10/24 Javascript
JS实现页面进入和返回定位到具体位置
2016/12/08 Javascript
从零开始搭建一个react项目开发
2018/02/09 Javascript
Vue自定义toast组件的实例代码
2018/08/15 Javascript
解决betterScroll在vue中存在图片时,出现拉不动的问题
2018/09/27 Javascript
node静态服务器实现静态读取文件或文件夹
2019/12/03 Javascript
Echarts实现多条折线可拖拽效果
2019/12/19 Javascript
Vue列表如何实现滚动到指定位置样式改变效果
2020/05/09 Javascript
jenkins自动构建发布vue项目的方法步骤
2021/01/04 Vue.js
[00:10]DOTA2全国高校联赛 以DOTA2会友
2018/05/30 DOTA
[01:02:34]TFT vs VGJ.T Supermajor 败者组 BO3 第二场 6.5
2018/06/06 DOTA
python批量修改文件名的实现代码
2014/09/01 Python
pandas 使用apply同时处理两列数据的方法
2018/04/20 Python
pytorch实现mnist分类的示例讲解
2020/01/10 Python
在keras下实现多个模型的融合方式
2020/05/23 Python
孕妇内衣和胸罩:Cake Maternity
2018/07/16 全球购物
英国最好的包装供应商:Priory Direct
2019/12/17 全球购物
2019年分享net面试的经历和题目
2016/08/07 面试题
根叔历年演讲稿
2014/05/20 职场文书
啤酒节策划方案
2014/05/28 职场文书
学生会竞选演讲稿纪检部
2014/08/25 职场文书
工程催款通知书
2015/04/17 职场文书
mysql的单列多值存储实例详解
2022/04/05 MySQL
利用Python实现模拟登录知乎
2022/05/25 Python