本文实例讲述了CI框架简单分页类用法。分享给大家供大家参考,具体如下:
/** * * 关于 页码有效性的判断需要加在 控制器中判断,即当页码数<1或者>总页数 * */ 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 < 1 "'.$this->anchor_class.'" '; } $current_class = ''; if($this->current_class !== '') { $current_class = 'class="'.$this->current_class.'" '; } if($pages == 1) { return ''; } if($links_num < 0) { return '- -!links_num必须大于等于0'; } //////////////////////////////////////////////////////// //创建链接开始 //////////////////////////////////////////////////////// $output = $this->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.'<a '.$anchor_class.' href="'.site_url($page_url).'" rel="external nofollow" >首页</a>'.$this->first_tag_close; } //上一页 if($page_num > 1) { $n = $page_num - 1; $output .= $this->prev_tag_open.'<a '.$anchor_class.' href="'.site_url($page_url.'/'.$n).'" rel="external nofollow" rel="external nofollow" >上一页</a>'.$this->prev_tag_close; } //pages for($i=1;$i<=$pages;$i++) { $pl = $page_num - $links_num < 0 "'.site_url($page_url.'/'.$i).'" rel="external nofollow" >'.$i.'</a>'.$this->num_tag_close; } } //下一页 if($page_num < $pages) { $n = $page_num + 1; $output .= $this->next_tag_open.'<a '.$anchor_class.' href="'.site_url($page_url.'/'.$n).'" rel="external nofollow" rel="external nofollow" >下一页</a>'.$this->next_tag_close; } //末页 if($page_num < $pages) { $output .= $this->last_tag_open.'<a '.$anchor_class.' href="'.site_url($page_url.'/'.$pages).'" rel="external nofollow" >末页</a>'.$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();
<"") === false) "<a href=".$url." rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" p=1".">首页</a> "; } if($this->page!=1){ $pagestr.= "<a href=".$url." rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" p=".($this->page-1).">上一页</a>"; } for($i=$start;$i<=$end;$i++){ $pagestr.= "<a href=".$url." rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" p=".$i.">".$i."</a> "; } if($this->page!=$this->pagenum){ $pagestr.="<a href=".$url." rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" p=".($this->page+1).">下一页</a>"; } if($this->page+5<$this->pagenum){ $pagestr.="<a href=".$url." rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" p=".$this->pagenum.">尾页</a> "; } return $pagestr; } } // 测试代码 $page = new page(100,10); $str=$page->getPage(); echo $str; "_blank" href="//www.jb51.net/Special/32.htm">codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《php优秀开发框架总结》、《ThinkPHP入门教程》、《ThinkPHP常用方法总结》、《Zend FrameWork框架入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》希望本文所述对大家基于CodeIgniter框架的PHP程序设计有所帮助。
标签:
CI框架,分页类
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
狼山资源网 Copyright www.pvsay.com
暂无“CI框架简单分页类用法示例”评论...