本文实例讲述了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程序设计有所帮助。
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
暂无评论...
更新日志
2024年11月29日
2024年11月29日
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]