文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>分页显示类

分页显示类

时间:2010-08-27  来源:dongyue91

原类:

<?PHP
class page
{
    private $text = array(
        'txt_next_page' => '下页',
        'txt_previous_page' => '上页',
        'txt_start' => '首页',
        'txt_end' => '尾页',
        );
    private $button_num;
    
    private $mDataNum;
    private $mButtonLink;
    
    public function __construct()
    {
        $this -> setButton(20);
        $this -> setDataNum(30);
    }
    
    public function getDataBegin()
    {
        return intval($_GET['page']) * $this -> mDataNum;
    }
    
    /**
     * 页码范围 : 正整数
     * @param : int $sum
     * @return : string $fy (like: 1 2 3 4 5)
     */
    public function getPageButton($sum)//总记录数,每页显示条数,页面地址,URL参数页码

    {
        $page = & intval($_GET["page"]);
        $paginal = & $this -> mDataNum;
        $linkpage = & $this -> mButtonLink;
        
        if($paginal!=0)
        { //如果每页只显示0条就只显示首页

            $ys = ceil($sum/$paginal); //计算总页数

            $fy = $page!=0 ? ' <a href="'.$linkpage.'&page=0" >'.$this -> text['txt_start'].'</a> ' : $this -> text['txt_start'];
            $start = $page<=$this->button_num ? 1 : $page+1-$this->button_num; //循环开始点

            $end = $ys<=($page+$this->button_num) ? $page+($ys-$page) : ($page+$this->button_num); //循环结束点

            for($i=$start;$i<=$end;$i++)
            {
                $fy .= $$i-1) ? ' <a href="'.$linkpage.'&page='.($i-1).'" >'.$i.'</a> ' : ' '.$i.' ';
            }
            $fy .= $$ys-1) ? ' <a href="'.$linkpage.'&page='.($ys-1).'" >'.$this -> text['txt_end'].'</a> ' : $this -> text['txt_end'];
        }
        else
        {
            $fy = $page!=0 ? ' <a href="'.$linkpage.'&page=0" >'.$this -> text['txt_start'].'</a> ' : $this -> text['txt_start'];
            $fy .= $$ys-1) ? ' <a href="'.$linkpage.'&page='.($ys-1).'" >'.$this -> text['txt_end'].'</a> ' : $this -> text['txt_end'];
        }
        return $fy;
    }
    
    /**
     * 页码范围 : 正整数
     * @param : int $rPageButton
     * @return : no return
     */
    public function setButton($rPageButton)
    {
        $this -> button_num = ceil($rPageButton/2);
    }
    
    public function setButtonLink($rButtonLink)
    {
        $this -> mButtonLink = $rButtonLink;
    }
    
    /**
     * 设置每页数据数量 : 正整数
     * @param : int $rDataNum
     */
    public function setDataNum($rDataNum)
    {
        $this -> mDataNum = $rDataNum;
    }
    
    /**
     * 获取每页数据数量 : 正整数
     * @return : int mDataNum
     */
    public function getDataNum()
    {
        return $this -> mDataNum;
    }
    
}
?>



使用方法:

$this -> mPageHD = MG::__new('page');

$this -> mPageHD -> setButtonLink($this -> mSiteUrl."index&eve=mail_extend&sysp=listor");

//获取数据
//$this -> mPageHD -> getDataBegin().','.$this -> mPageHD -> getDataNum()相当于LIMIT 0,20 中的 0,20
$data = MGTools::getDataList($syspage, $this -> mPageHD -> getDataBegin().','.$this -> mPageHD -> getDataNum(), '');

$fy = $this -> mPageHD -> getPageButton(MGTools::getDataCount($syspage, ''));//数据总数


相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载