首页 > php代码 > php dz分页类

php dz分页类

<?php
/*** 
分页类 
20080505 
***/ 
require_once('mysql.php');//mysql.php文件在上一篇日志
class page{ 
    private $url; 
    private $pagesize; 
    private $sql; 
    private $getpage; 
    //参数:sql语句,每页记录数,传递链接(例如"index.php?"或者"index.php?sort=1&"等) 
    function __construct($sql,$pagesize,$url) { 
        $this->url      = $url; 
        $this->pagesize = $pagesize; 
        $this->sql      = $sql; 
        $this->getpage  = $_GET["page"]; 
        if(!$this->getpage) { 
                $this->getpage=1; 
        } 
    } 
    //取记录总数 
    function getcount() { 
        return mysql_num_rows(mysql_query($this->sql)); 
    } 
    //格式化sql语句 
    function pagesql() { 
        $nowpage    = $this->getpage; 
        $limitNumber= $this->pagesize; 
        if($nowpage<1) { 
                $nowpage=1; 
        } 
        return $this->sql." limit ".($nowpage-1)*$limitNumber.",".$limitNumber; 
    } 
     //显示分页,参数:显示数字链接个数,开始步进的页 
function show($page = 5,$offset = 2){ 
    $mpurl     = $this->url; 
    $curr_page = $this->getpage; 
    $perpage   = $this->pagesize; 
    $num=$this->getcount();//总记录数 
    $multipage = ""; 
    if ($num > $perpage){ 
        $pages = ceil($num / $perpage); 
        $from = $curr_page - $offset; 
        $to = $curr_page + $page - $offset - 1; 
        if ($page > $pages){ 
            $from = 1; 
            $to = $pages; 
        }else{ 
            if ($from < 1){ 
                 $to = $curr_page + 1-$from; 
                 $from = 1; 
                 if (($to - $from) < $page && ($to - $from) < $pages){ 
                     $to = $page; 
                 } 
            }elseif ($to > $pages){ 
                 $from = $curr_page - $pages + $to; 
                 $to = $pages; 
                 if (($to - $from) < $page && ($to - $from) < $pages){ 
                       $from = $pages - $page + 1; 
                 } 
            } 
        } 
                $multipage .=" 
            <script language=\"javascript\"> 
            function gotoPage(value) 
            { 
                    value = parseInt(value); 
                    if(isNaN(value)) 
                    value = 0; 
                    if(value<1) 
                    value = 1; 
                    if(value>".$pages.") 
                    value = ".$pages."; 
                    window.location.href = \"".$mpurl."page=\"+value; 
            } 
            </script>"; 
            $multipage .= "<div class=\"p_bar\">"; 
            $multipage .= "<a class=\"p_total\"> ".$num." </a>\n"; 
            $multipage .= "<a class=\"p_pages\"> ".$curr_page."/".$pages." </a>\n"; 
            if ($curr_page - $offset > 1){ 
                 $multipage .= "<a class=\"p_redirect\" href=\"".$mpurl."page=1\" title='首页'>«</a>\n"; 
            } 
            for ($i = $from; $i <= $to; $i++){ 
                if ($i != $curr_page){ 
                     $multipage .= "<a class=\"p_num\" href=\"".$mpurl."page=".$i."\" title='第".$i."页'>".$i."</a>\n"; 
                }else{ 
                     $multipage .= "<a class=\"p_curpage\">".$i."</a>\n"; 
                } 
            } 
            if ($curr_page + $offset < $pages){ 
                  $multipage .= "<a class=\"p_redirect\" href=\"".$mpurl."page=$pages\" title='尾页'>»</a>\n"; 
            } 
                $multipage .= "<input class=\"p_input\" title=\"输入页数,按回车跳转\" name=\"pageGo\" id=\"pageGo\" 
                onKeydown=\"if(event.keyCode == 13) {gotoPage(this.value);return false;}\">\n"; 
        //$multipage .= "<a class=\"p_total\">".$perpage."条/页</a>\n"; 
            $multipage .= "</div>"; 
        } 
     return $multipage; 
    } 
}


文章地址:http://www.phprm.com/code/1e510ea5d7ac54b6f85fbb280ba02de1.html

转载随意^^请带上本文地址!

标签:none

发表留言