• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

CI框架简单分页类用法示例

php 搞代码 4年前 (2022-01-01) 24次浏览 已收录 0个评论

这篇文章主要介绍了CI框架简单分页类用法,结合实例形式分析了CI框架简单分页类基本定义与使用方法,需要的朋友可以参考下

本文实例讲述了CI框架简单分页类用法。分享给大家供大家参考,具体如下:

 /** * * 关于 页码有效性的判断需要加在 控制器中判断,即当页码数总页数 * */ class Custom_pagination { var $page_url = ''; //分页目标URL var $page_size = 10; //每一页行数 var $page_num = 1;//页码 var $rows_num= '';//数据总行数 var $links_num= 3;//选中链接前后的链接数,必须大于等于1 var $anchor_class= '';//链接样式类 var $current_class= '';//当前页样式类 var $full_tag_open= '';//分页开始标签 var $full_tag_close= '';//分页结束标签 var $info_tag_open= ''; var $info_tag_close= ' '; var $first_tag_open= ''; var $first_tag_close= ' '; var $last_tag_open= ' '; var $last_tag_close= ''; var $cur_tag_open= ' <strong>'; var $cur_tag_close= '</strong>'; var $next_tag_open= ' '; var $next_tag_close= ' '; var $prev_tag_open= ' '; var $prev_tag_close= ''; var $num_tag_open= ' '; var $num_tag_close= ''; public function __construct($params = array()) { if (count($params) > 0) { $this->init($params); } } function init($params = array()) //初始化数据 { if (count($params) > 0) { foreach ($params as $key => $val) { if (isset($this->$key)) { $this->$key = $val; } } } } function create_links() { /////////////////////////////////////////////////////// //准备数据 /////////////////////////////////////////////////////// $page_url = $this->page_url; $rows_num = $this->rows_num; $page_size = $this->page_size; $links_num = $this->links_num; if ($rows_num == 0 OR $page_size == 0) { return ''; } $pages = intval($rows_num/$page_size); if ($rows_num % $page_size) { //有余数pages+1 $pages++; }; $page_num = $this->page_num page_num; $anchor_class = ''; if($this->anchor_class !== '') { $anchor_class = 'class="'.$this->anchor_class.'" '; } $current_class = ''; if($this->current_class !== '') { $current_class = 'class="'.$this->current_class.'" '; } if($pages == 1) { return ''; } if($links_num full_tag_open; $output .= $this->info_tag_open.'共'.$rows_num.'条数据 第 '.$page_num.'/'.$pages.' 页'.$this->info_tag_close; //首页 if($page_num > 1) { $output .= $this->first_tag_open.'首页'.$this->first_tag_close; } //上一页 if($page_num > 1) { $n = $page_num - 1; $output .= $this->prev_tag_open.'上一页'.$this->prev_tag_close; } //pages for($i=1;$i<=$pages;$i++) { $pl = $page_num - $links_num  $pages ? $pages : $page_num + $links_num; //判断链接个数是否太少,举例,假设links_num = 2,则链接个数不可少于 5 个,主要是 当page_num 等于 1, 2 和 n,n-1的时候 if($pr  $pages-2 * $links_num) { $pl = $pages - 2 * $links_num; } if($i == $page_num) {  //current page $output .= $this->cur_tag_open.'<span>'.$i.'</span>'.$this->cur_tag_close; }else if($i >= $pl && $i num_tag_open.''.$i.''.$this->num_tag_close; } } //下一页 if($page_num next_tag_open.'下一页'.$this->next_tag_clos<mark style="color:transparent">来源gaodaimacom搞#代%码网</mark>e; } //末页 if($page_num last_tag_open.'末页'.$this->last_tag_close; } $output.=$this->full_tag_close; return $output; } } 

控制器里调用

 $config['page_url'] = 'about/science'; $config['page_size'] = $pagesize; $config['rows_num'] = $num_rows; $config['page_num'] = $page; $this->load->library('Custom_pagination'); $this->custom_pagination->init($config); echo $this->custom_pagination->create_links(); 
 pagenum = ceil($count/$pagesize); $this->pagesize = $pagesize; $this->page =(isset($_GET['p'])&&$_GET['p']>0) ? intval($_GET['p']) : 1; } /** * 获得 url 后面GET传递的参数 */ public function getUrl(){ $url = 'index.php?'.http_build_query($_GET); $url = preg_replace('/[?,&]p=(\w)+/','',$url); $url .= (strpos($url,"?") === false) ? '?' : '&'; return $url; } /** * 获得分页HTML */ public function getPage(){ $url = $this->getUrl(); $start = $this->page-5; $start=$start>0 ? $start : 1; $end  = $start+9; $end = $endpagenum ? $end : $this->pagenum; $pagestr = ''; if($this->page>5){ $pagestr = "首页 "; } if($this->page!=1){ $pagestr.= "page-1).">上一页"; } for($i=$start;$ipage!=$this->pagenum){ $pagestr.="page+1).">下一页"; } if($this->page+5pagenum){ $pagestr.="pagenum.">尾页 "; } return $pagestr; } } // 测试代码 $page = new page(100,10); $str=$page->getPage(); echo $str; ?> 

更多关于CodeIgniter相关内容感兴趣的读者可查看本站专题:《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《php优秀开发框架总结》、《ThinkPHP入门教程》、《ThinkPHP常用方法总结》、《Zend FrameWork框架入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家基于CodeIgniter框架的PHP程序设计有所帮助。

以上就是CI框架简单分页类用法示例的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:CI框架简单分页类用法示例
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址