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 file_exists 检查文件或目录是否存在的函数
May 10 PHP
基于php iconv函数的使用详解
Jun 09 PHP
php防止sql注入示例分析和几种常见攻击正则表达式
Jan 12 PHP
phpphp图片采集后按原路径保存图片示例
Feb 18 PHP
PHP代码优化的53个细节
Mar 03 PHP
PHP中使用sleep造成mysql读取失败的案例和解决方法
Aug 21 PHP
php打印输出棋盘的实现方法
Dec 23 PHP
Laravel 5.1 on SAE环境开发教程【附项目demo源码】
Oct 09 PHP
php高清晰度无损图片压缩功能的实现代码
Dec 09 PHP
PHP实现的支付宝支付功能示例
Mar 26 PHP
Laravel5.4简单实现app接口Api Token认证方法
Aug 29 PHP
php中Swoole的热更新实现代码实例
Mar 04 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
一个用于MySQL的PHP XML类
2006/10/09 PHP
PHP开发中四种查询返回结果分析
2011/01/02 PHP
搭建Vim为自定义的PHP开发工具的一些技巧
2015/12/11 PHP
php生成HTML文件的类方法
2019/10/11 PHP
tp5框架基于Ajax实现列表无刷新排序功能示例
2020/02/10 PHP
JS调用CS里的带参方法实例
2013/08/01 Javascript
深入理解JavaScript系列(17):面向对象编程之概论详细介绍
2015/03/04 Javascript
JavaScript中的some()方法使用详解
2015/06/09 Javascript
JavaScript实现的简单烟花特效代码
2015/10/20 Javascript
Bootstrap每天必学之按钮
2015/11/26 Javascript
用js写的一个路由(简单实例)
2016/09/24 Javascript
详解在WebStorm中添加Vue.js单文件组件的高亮及语法支持
2017/10/21 Javascript
AngularJS实现与后台服务器进行交互的示例讲解
2018/08/13 Javascript
详解微信小程序框架wepy踩坑记录(与vue对比)
2019/03/12 Javascript
用JS实现一个简单的打砖块游戏
2019/12/11 Javascript
python中的装饰器详解
2015/04/13 Python
利用Fn.py库在Python中进行函数式编程
2015/04/22 Python
Tensorflow的可视化工具Tensorboard的初步使用详解
2018/02/11 Python
Python简单实现的代理服务器端口映射功能示例
2018/04/08 Python
Python面向对象之继承和组合用法实例分析
2018/08/27 Python
Python闭包思想与用法浅析
2018/12/27 Python
Python实现FM算法解析
2019/06/18 Python
Python之虚拟环境virtualenv,pipreqs生成项目依赖第三方包的方法
2019/07/23 Python
基于python实现把图片转换成素描
2019/11/13 Python
numpy ndarray 取出满足特定条件的某些行实例
2019/12/05 Python
python初步实现word2vec操作
2020/06/09 Python
Python 字典中的所有方法及用法
2020/06/10 Python
Python Pandas数据分析工具用法实例
2020/11/05 Python
使用CSS3来代替JS实现交互
2017/08/10 HTML / CSS
六十大寿答谢词
2014/01/12 职场文书
暑期教师培训方案
2014/06/07 职场文书
公安纪律作风整顿剖析材料
2014/10/10 职场文书
优秀班主任主要事迹材料
2014/12/16 职场文书
给老师的保证书怎么写
2015/05/09 职场文书
解决Oracle数据库用户密码过期
2022/05/11 Oracle
详解Spring Security如何在权限中使用通配符
2022/06/28 Java/Android