本文实例讲述了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.dyhadc.com
暂无“CI框架简单分页类用法示例”评论...
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
2025年11月13日
2025年11月13日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]