Ci 自己的分页类【原创】
这里是自己手写的一个CI分页类的实现
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
*
* @package CodeIgniter
* @author sunzhiyan
这是自己的一个工具类的测试,调用方法是
/**
*/
class CI_Mypage {
/*
* $pagenum 每页显示的数据
* $url 跳转的URL地址
* $rscount 数据总条数
* $paginationObject 分页类对象地址
* */
function page($pagesize = 2,$url,$rscount,$paginationObject){
//进行配置
//每页显示的数据
$config['per_page'] = $pagesize;
//配置基础目录
/* $config['base_url']= site_url('welcome/index');*/
$config['base_url']= $url;
//一共多少条数据
$config['total_rows'] = $rscount;
//#######################自定义分页
// $config['uri_segment'] = 6;//分页方法自动测定你 URI 的哪个部分包含页数
//$config['num_links'] = 1;//当前页码的前面和后面的“数字”链接的数量
//$config['use_page_numbers'] = TRUE;//默认分页URL中是显示每页记录数,启用use_page_numbers后显示的是当前页码
$config['page_query_string'] = TRUE;//默认情况下,分页类库假设你使用 URI 段,并像这样构造你的链接
// $config['enable_query_strings'] = TRUE;//你的链接将自动地被用查询字符串重写
$config['query_string_segment'] = "p";//“per_page”是默认传递的查询字符串 '用你的字符串' 来配置
//#######################添加封装标签
$config['full_tag_open'] = '<h1>';//打开的标签放在所有结果的左侧
$config['full_tag_close'] = '</h1>';//关闭的标签放在所有结果的
$config['first_link'] = "Top";//第一页”链接的名字,如果你不希望显示,可以把它的值设为 FALSE
$config['first_tag_open'] = '<span style="background:red">';//“第一页”链接的打开标签。
$config['first_tag_close'] = '</span>';//“第一页”链接的关闭标签。
$config['last_link'] = 'zuihou';//最后一页”链接的名字。如果你不希望显示,可以把它的值设为 FALSE
$config['last_tag_open'] = '<span style="background:pink">';//最后一页”链接的打开标签
$config['last_tag_close'] = '</span>';//最后一页”链接的关闭标签。
$config['next_link'] = 'Next';//“下一页”链接的名字。如果你不希望显示,可以把它的值设为 FALSE 。
$config['next_tag_open'] = '<span style="background:green">';//下一页”链接的打开标签。
$config['next_tag_close'] = '</span>';//“下一页”链接的关闭标签。
$config['prev_link'] = 'up';//上一页”链接的名字。如果你不希望显示,可以把它的值设为 FALSE 。
$config['prev_tag_open'] = '<span style="background:black">';//上一页链接的打开标签。
$config['prev_tag_close'] = '</span>';//上一页链接的关闭标签。
$config['cur_tag_open'] = '<span style="background:orange">';//“当前页”链接的打开标签。
$config['cur_tag_close'] = '</span>';//当前页”链接的关闭标签。
/* $config['num_tag_open'] = '<div>';//数字”链接的打开标签。
$config['num_tag_close'] = '</div>';//数字”链接的关闭标签。*/
// $config['display_pages'] = FALSE;// 不显示“数字”链接
$config['anchor_class'] = "";//添加 CSS 类
/* */
//$config['display_pages'] = FALSE;
$paginationObject->initialize($config);
//输出按钮
$pageNew = $paginationObject->create_links();
return $pageNew;
}
/*分页数据的显示
* @author sunzhiyan
* $limit 偏移量
* $pagesize 每页显示量
* $rscount 数据总条数
* $DbConnection 数据库连接对象地址
*/
function pageDate($limit,$pagesize=2,$rscount,$DbConnection){
$MaxLimit = (ceil($rscount/$pagesize)-1)*$pagesize;
if($limit <= 0){
$limit =0;
}elseif ($limit > $MaxLimit){
$limit = $MaxLimit;
}
$data=$DbConnection->get_books($limit,$pagesize);
echo '<br><br><br><br>';
foreach ($data as $value) {
echo '$value='.$value->ty_name;
}
return $data;
}
}
// END Pagination Class
/* End of file Pagination.php */
/* Location: ./system/libraries/Pagination.php */
实现调用方法
只要在控制器里面加上这样一段嗲吗就能够实现调用
$this->load->database();
$this->load->model('Type_model');
$this->load->library('pagination');
$typeConnection = $this->Type_model;
//首页 $paginationObject = $this->pagination;
$this->load->library('mypage');
/* $this->mypage->test($Type_model);*/
$url = "http://localhost/myblog/index.php/welcome/index?t=3";
$pagesize = 2;
$rscount = $this->db->count_all('type');//数据总数
$pagenew = $this->mypage->page($pagesize,$url,$rscount,$paginationObject);// 这个是显示分页标签的方法
echo $pagenew;
$page = $_GET['p'];
$this->mypage->pageDate($page,$pagesize,$rscount,$typeConnection);//这个是显示分页数据的方法
Ci 自己的分页类【原创】的更多相关文章
- CodeIgniter(CI 3.0)分页类实践记录
最近在学习B/S,选择了PHP CI框架作为切入点. 在尝试制作个人CMS的时候遇到了需要分页的情况,网上好像搜不到3.0版本以上的例子,下面附上本地实验的代码,供参考. 数据库情况如下: 首先看Co ...
- CI 分页类的使用
分页本身很简单,无非就是一个 [limit $offset, $length] 的过程. $length 是每页显示的数据量,这个是固定的.要确定的就只有 $offset了. 在CI中的分页类同样要依 ...
- CI中的分页
根据MVC的思想,分页是需要传数据到模型中,把页码传过去,在模型中根据页码分配: 更多分页类函数可以通过CI手册的分页类查看: $this -> load ->library('pagin ...
- ***CI分页:为CodeIgniter写的分页类
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 ...
- 二十八、CI框架之自己写分页类,符合CI的路径规范
一.参照了CSDN上某个前辈写的一个CI分页类,自己删删改改仿写了一个类似的分页类,代码如下: 二.我们在模型里面写2个数据查询的函数,一个用于查询数据数量,一个用于查询出具体数据 三.我们在控制器里 ...
- 二十七、CI框架之自己写分页类并加载(写分页还是有难度,搞了一整天)
一.我们写好自己的分页代码,防止library目录中,带构造函数 二.在模型中,添加2个函数,一个是查询数据的条数,第二个是取出数据库中的数据 三.在控制中,写入相应的代码,如下: 四.在界面中,写入 ...
- CI框架分页类
分页类1.分页类参数说明 'base_url' => 指向你的分页所在的控制器类/方法的完整的 URL, 'total_rows' => 数据的总行数, 'per_page' => ...
- php分页类
1.需求 学会php分页类的使用 2.参考例子 CI的分页类 3.代码部分 <?php class pagination{ public $pagesize=20; public $pagein ...
- codeigniter分页类传多个参数(转)
http://example.com/index.php/控制器/方法名/页面的偏移值 页面的偏移值必须是方法名后第一个参数,否者分页类不能判断当前是哪一页,而用ci的分页类进行页面跳转时他是把偏移值 ...
随机推荐
- 如何调整iMindMap打印设置
打印何尝不是一种保存.导出iMindMap思维导图的一种方法,我们还可以通过调整打印设置来满足我们不同的需求.下面小编就给你翻一翻iMindMap中文版教程,教你怎样调整打印设置. 我们在打开iMin ...
- string.Format 日期格式化
String.Format日期的格式化例子: DateTime dt = DateTime.Now;//2010年10月4日 17点05分 string str = ""; //s ...
- google chrome中如何删除一条输入网址提示
在google chrome中网站栏输入字母的时候会出现网址的提示,如下图: 之前遇到个问题,不知道之前打错了www.baidu.com为wwww.baidu.com(也会跳转到百度)导致一输入“w” ...
- 【转】JQUERY相关的几个网站
作者:Terry li - GBin1.com 1. John Resig - http://ejohn.org 毫无疑问,jQuery 的缔造者的博客是你首先必须关注的. 2. Filmament ...
- [BZOJ 1257] [CQOI2007] 余数之和sum 【数学】
题目链接:BZOJ - 1257 题目分析 首先, a % b = a - (a/b) * b,那么答案就是 sigma(k % i) = n * k - sigma(k / i) * i ( ...
- 比较全面的gdb调试命令 (转载)
转自http://blog.csdn.net/dadalan/article/details/3758025 用GDB调试程序 GDB是一个强大的命令行调试工具.大家知道命令行的强大就是在于,其可以形 ...
- ACM生活总结
两年ACM生活总结 转眼已经踏入ACM这条不归路已经两年了, 深深的感觉到ACM的不易 和 艰辛,但同时ACM给我所带来的快乐,让我认为值一切都是值得的. 我刚上大学那会,我们学校的ACM刚刚起步不到 ...
- 【转】Java 字符串常用操作(String类)
原文网址:http://www.cnblogs.com/freeabyss/archive/2013/05/15/3187057.html 字符串查找 String提供了两种查找字符串的方法,即ind ...
- 动态规划:NOI2013 快餐店
Description 小 T打算在城市C开设一家外送快餐店.送餐到某一个地点的时间与外卖店到该地点之间最短路径长度是成正比的,小T希望快餐店的地址选在离最远的顾客距离最近 的地方. 快餐店的顾客分布 ...
- 【链表】【模拟】Codeforces 706E Working routine
题目链接: http://codeforces.com/problemset/problem/706/E 题目大意: 给一个N*M的矩阵,Q个操作,每次把两个同样大小的子矩阵交换,子矩阵左上角坐标分别 ...