php下的一个分页类

这个分页类,参考了慕课网和燕十八的分页类。

慕课网分页类学习网址:http://www.imooc.com/learn/419

效果图:

<?php

class page{
    public $cpage;            //传入的页码
    public $totalnum;        //总的记录数,数据
    public $total_page;        //总页数
    public $per_page = 10;    //每页的记录数
    public $showpage = 5;    //页码条显示的页码个数
    public $pageoffset;        //页码条偏移的页码个数
    public $pageup;            //上一页
    public $pagedown;        //下一页
    public $start=1;        //开始页码
    public $end;            //结束页码

public $fycod = array();

//初始化各个参数
    public function __construct($cpage,$totalnum){

$this->cpage = $cpage;
        $this->totalnum = $totalnum;
        $this->pageoffset = ($this->showpage-1)/2;
        $this->total_page = $this->totalnum/10;
        $this->end = $this->total_page;

//总页数
        $this->total_page = ceil($this->totalnum/$this->per_page);
    }

//返回总的页数
    public function gettotal_page(){
        return $this->total_page;
    }

//返回每页的记录数
    public function getper_page(){
        return $this->per_page;
    }

//返回当前页
    public function getcpage()
    {
        return $this->cpage;
    }

//修改当前页
    public function modcpage($cpage){
        $this->cpage = $cpage;
    }

//返回上一页
    public function getpageup(){
        if($this->cpage<=1){
            return $this->pageup = 1;
        }
        return $this->pageup = $this->cpage -1;
    }

//返回下一页
    public function getpagedown(){
        if($this->cpage < $this->total_page){
            return $this->pagedown = $this->cpage+1;
        }
    }

//返回一个数组,关于页码的各个参数
    public function getpages(){
        $pages = array();

$pages[‘total_page‘] = $this->total_page;
        $pages[‘per_page‘] = $this->per_page;
        $pages[‘cpage‘]    = $this->cpage;
        $pages[‘pageup‘] = $this->getpageup();
        $pages[‘pagedown‘] = $this->getpagedown();
        $pages[‘start‘] = $this->start;
        $pages[‘end‘] = $this->end;
        $pages[‘pageoffset‘]  = $this->pageoffset;
        $pages[‘showpage‘] = $this->showpage;

return $pages;
    }

//分页代码函数,返回一个数组,作用:分页的页码数
    public function getfycod(){
        
        if($this->cpage > $this->pageoffset){
            $this->start = $this->cpage - $this->pageoffset;
            $this->end = $this->total_page > $this->cpage + $this->pageoffset ? $this->cpage + $this->pageoffset : $this->total_page;
        }else{
            $this->start = 1;
            $this->end = $this->total_page > $this->showpage ? $this->showpage : $this->total_page;
        }

if($this->cpage + $this->pageoffset > $this->total_page){
            $this->start = $this->start - ($this->cpage + $this->pageoffset - $this->end);
        }

for($i=$this->start;$i<=$this->end;$i++){
            $this->fycod[] = $i;
        }

return $this->fycod;
    }
}

时间: 2024-10-23 14:03:19

php下的一个分页类的相关文章

自己写了一个分页类

第一次发文章,格式不太规范,不过以后会逐渐改正的,请大家多多指正 ? public class Pager     {         private string _pageurl;         private int _pagecount;         private int _currentpage;         public Pager(string pageurl, int pagecount, int currentpage)         {             

php实现一个分页类

文件名:page.class.php 代码级解析 <?php class Page { private $total; //数据表中总记录数 private $listRows; //每页显示行数 private $limit; private $uri; private $pageNum; //页数 private $config=array('header'=>"个记录", "prev"=>"上一页", "next

php 自己写的好看的分页类

自己写的一个分页类 ,不是很完整,个别没有做验证,但可以使用,分页效果见文章底部.除了链接数据库的代码没有粘贴上来,其他的都粘贴了.供学习使用- 1 <?php 2 /** 3 * Created by PhpStorm. 4 * User: Caoxt 5 * Date: 15-7-3 6 * Time: 上午10:03 7 */ 8 class page { 9 public $pageSize; //每页显示的文章条数 10 public $showPage; //页数条显示的条数 11

分页类 完美

最近项目用到一分页类,网上找了半天 ,结果 没有包含对0的处理,也就是传进来的 数据为0时,算法会出错.索性自己 写了一个分页类,记录了下来,希望能帮助有需要的人. import java.util.List; /** * * @author limh * */ public class Pager { private int total_page; // 总页数 private int total_count; // 总记录数 private int current_page; // 当前页

Django 实现的分页类

后台实现的一个分页类: 1 from django.utils.safestring import mark_safe 2 3 4 class Page: 5 def __init__(self, current_page, data_count, per_page_count=10, pager_num=7): 6 self.current_page = current_page 7 self.data_count = data_count 8 self.per_page_count = pe

PHP分页类代码

今天为大家献上一段代码,这是一段php分页代码: <?php//创建分页类class Page {    private $_all_num;                                                            //数据总个数    private $_page_size;                                                        //每页显示几条数据    private $_page;  

二十七、CI框架之自己写分页类并加载(写分页还是有难度,搞了一整天)

一.我们写好自己的分页代码,防止library目录中,带构造函数 二.在模型中,添加2个函数,一个是查询数据的条数,第二个是取出数据库中的数据 三.在控制中,写入相应的代码,如下: 四.在界面中,写入代码 五.我们打开浏览器,就可以看到CI框架的分页已经被我们替换掉了,如图: 总结: 大家可以看到,目前我自己比较好用的一个分页类在CI中可以正常使用,但是翻页之后,是用的 [ ?page=6 ]这种形式来呈现的,和CI还是不符合,我们后续改进一下分页类的写法,符合CI的规范. 原文地址:https

一个重构的js分页类

// JavaScript Document /**//** * js分页类 * @param iAbsolute 每页显示记录数 * @param sTableId 分页表格属性ID值,为String * @param sTBodyId 分页表格TBODY的属性ID值,为String,此项为要分页的主体内容 * @Version 1.0.0 * @author 辛现宝 2007-01-15 created * var __variable__; private * function __met

Epplus下的一个将Excel转换成List的范型帮助类

因为前一段时间公司做项目的时候,用到了Excel导入和导出,然后自己找了个插件Epplus进行操作,自己将当时的一些代码抽离出来写了一个帮助类. 因为帮助类是在Epplus基础之上写的,项目需要引用Epplus.dll.自己基础不是很扎实,有问题的地方欢迎指导. 1.用法,默认excel第一列是头部信息. public class UserInfo : XlsRow { public int id { get; set; } public string username { get; set;