php的一个分页类

//-----------------------------
//  实现分页效果
//-----------------------------
class PageChange
{
  /*
   **变量$page:所请求页码.
   **变量$page_size:页面结果行数.
   **变量$result_amount:从数据库提取出的结果总数.
   **变量$page_count:由$page_size,$result_amount计算得到的页面数量.
   **变量$linkbar:由以上变量生成的分页导航.
  */
  var $page,$page_size,$result_amount,$page_count,$linkbar;
  /*
   **PageChange构造函数,获取$_GET["page"],$_POST["page_size"].
  */
  function PageChange($inputPage,$inputPageSize,$inputResultAmount)
  {
 $this->page=$inputPage;
 $this->page_size=$inputPageSize;
 $this->result_amount=$inputResultAmount;
  }
  /*
   **函数ReturnPage(),返回请求页数page.
  */
  function ReturnPage()
  {
 return $this->page;
  }
  /*
   **函数ReturnPageSize(),返回请求页数page_size.
  */
  function ReturnPageSize()
  {
 return $this->page_size;
  }
  /*
   **函数ReturnResultAmount(),返回从数据库中提取的结果总数.
  */
  function ReturnResultAmount()
  {
 return $this->result_amount;
  }
  /*
  **函数ReturnPageCount(),返回总页数page_count.
  */
  function ReturnPageCount()
  {
    if($this->result_amount)
 {
    if($this->result_amount<$this->page_size){$this->page_count=1;}
    if($this->result_amount%$this->page_size){$this->page_count=(int)($this->result_amount/$this->page_size)+1;}
    else{$this->page_count=$this->result_amount/$this->page_size;}
 }
 else
 {$this->page_count=0;}
 return $this->page_count;
  }
  /*
   **函数PrintPageBar(),打印分页导航.
  */
  function PrintPageBar()
  {
    $page=$this->page;
    $page_count=$this->page_count;
    $this->linkbar="("."$page".'/'."$page_count".")";
 if($page==1)
  {$this->linkbar.=" 第一页 | 上一页 | ";}
 else{$this->linkbar.= ' <a href=?page=1>第一页</a> | <a href=?page='.($page-1).'>上一页</a> | ';}
 if(($page==$page_count)||($page_count==0)){$this->linkbar.='下一页 | 尾页';}
 else{$this->linkbar.= '<a href=?page='.($page+1).'>下一页</a> | <a href=?page='.$page_count.'>尾页</a>';}
 echo "<div id='pagebar'>";
 echo "$this->linkbar";
    echo "</div>";
  }
}


//-----------------
//分页类实现部分源码
//-----------------
$page_size=8;//每页显示数量
if(isset($_GET["page"]))//获取超连接页码page
{$page=intval($_GET["page"]);}
else
{$page=1;}//若未取得,则显示第一页
$queryTotal="SELECT count(*) AS amount FROM guestbook";
$resultTotal= mysql_query($queryTotal,$connect);
$rowTotal = mysql_fetch_array($resultTotal);
$amount=$rowTotal["amount"];
$GetPageChange=new PageChange($page,$page_size,$amount);//实例化分页类
$query="select * from guestbook order by ReDate desc limit  ".($GetPageChange->ReturnPage()-1)*$GetPageChange->ReturnPageSize().",".$GetPageChange->ReturnPageSize();
$GetPageChange->ReturnPageCount();
$result=mysql_query($query,$connect);
$resultcount = mysql_num_rows($result);
if($resultcount)
{
  while($row=mysql_fetch_array($result,MYSQL_BOTH))
  {
        echo "<div class=/"guestBookTitle/">";
        echo $row["loginID"]."留下的信息:";
        if($Array["type"]==3)
        {
                echo "[<a href="."guestbook.php?action=delete&id=".$row["ID"].">删除</a>]";
        }
        echo "</div>";
        echo "<div class=/"guestBookContent/">".$row["content"]."</div>";
  echo "<div style=/"margin-bottom: 10px;width:73%;padding:0px;text-align:right;/">留言时间:".$row["ReDate"]."</div>";
  }
}
else {print("<BR /><FONT COLOR=RED>暂无留言</FONT>");}
$GetPageChange->PrintPageBar();//打印分页条

阅读更多
个人分类: 技术文章收藏
想对作者说点什么? 我来说一句

超级好用的PHP分页类

liruxing1715 liruxing1715

2011-10-22 21:24:23

阅读数:24089

很好用的php分页类

2011年07月26日 5KB 下载

PHP完美分页类

2016年01月16日 9KB 下载

没有更多推荐了,返回首页

不良信息举报

php的一个分页类

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭