博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP CI框架学习笔记-分页实现程序
阅读量:6818 次
发布时间:2019-06-26

本文共 1726 字,大约阅读时间需要 5 分钟。

视图html 

请输入书名、作者、出版社中的一个或多个来查询。

控制器 

public function index() {    $keyword = $this->input->get ( 's' );    $offset = $this->input->get ( 'offset' );    if (empty ( $offset )) {        $offset = 0;    }    if (! empty ( $keyword )) {        $this->load->model ( 'book_model' );        $this->load->library ( 'pagination' );        $per_page = 10;        $config ['num_links'] = 5;        $config ['base_url'] = '/index.php/' . $this->router->class . '/' . $this->router->method . '/?s=' . $keyword;        $config ['per_page'] = $per_page;        $config ['total_rows'] = $this->Book_Model->find_by_name ( $keyword, NULL, NULL, true );        $config ['page_query_string'] = false;        $config ['query_string_segment'] = 'offset'; //重新定义记录起始位置的参数名,默认为per_page        $this->pagination->initialize ( $config );        $data ['books'] = $this->Book_Model->find_by_name ( $keyword, $per_page, $offset );        $this->load->view ( 'search', $data );    } else {        $this->load->view ( 'search' );    }} 

因为config.php中默认的enable_query_strings是false, 起始位置始终在最后,这样出来的结果类似/index.php/search/index/?s=中国/10,页码取不到,需要将此配置改为false; 

 

数据加载模型

public function find_by_name($name, $per_page=0, $offset = 0, $is_total = false) {    if ($is_total) {//总数$query = $this->db->query ( "select count(id) as cnt from {$this->_book} where book_name like '%{$name}%'" );if ($query->num_rows () > 0) {    $row = $query->row ();    $ret = $row->cnt;}   }else{//列表      $query = $this->db->query ("select * from {$this->_book} where book_name like '%{$name}%' limit {$offset}, {$per_page}");      $ret = $query->result ();   }   return $ret;}

转载于:https://www.cnblogs.com/qhorse/p/4589081.html

你可能感兴趣的文章
Linux下Samba的配置
查看>>
如何取消IE“已限制此网页运行可以访问计算机的脚本或ActiveX控件”
查看>>
Android 所遇问题(一)
查看>>
2014年移动媒体趋势报告:中国网络媒体的未来
查看>>
设计模式(15)-Facade Pattern
查看>>
How to get URL parameters with Javascript?
查看>>
【转】易用性测试
查看>>
[翻译svg教程]svg中的circle元素
查看>>
分布系统概念与设计---系统模型
查看>>
核心基础以及Fragment与Activity传递数据完整示例
查看>>
【趣事】一根网线发起的攻击
查看>>
如何判断CapsLock键是否按下
查看>>
微软职位内部推荐-Software Development Engineer II
查看>>
在Ubuntu 14 上安装 Nginx-RTMP 流媒体服务器
查看>>
[LeetCode] Longest Common Prefix 最长共同前缀
查看>>
Python-文件修改器
查看>>
JavaScript把客户端时间转换为北京时间
查看>>
[C++] zlatlcv: ATL字符串转换辅助库。能很方便的将UTF-8字符串转为TCHAR等字符串
查看>>
你听过的最心酸的一句话是什么?
查看>>
ios 图片处理( 1.按比例缩放 2.指定宽度按比例缩放
查看>>