以前做的一个分页类~~比较普通的那种~~

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

以前学习时做的,现在也经常用到~~感觉还可以。只是有时候不太方便~~比如做搜索的时候~~有些麻烦~~

呵……其实还是蛮不错的~~

<?php

class Ipagination

{

var $sqlstr; //SQL语句;

var $totalpages; //当前页数;

var $pagesize; //每页显示记录数;

var $totalrecord; //总记录数;

var $getpage; //返回的页;

var $nextpage; //下一页;

var $pervpage; //前一页;

var $result; //记录集;

var $page; //当前页数;

//构造函数

function Ipagination()

{

$this->pagesize = 10;

$this->getpage = 1;

}

function set_pagesize($get_pagesize)

{

$this->pagesize = $get_pagesize;

}

function set_page($get_page)

{

$this->getpage = $get_page;

}

function set_sql($get_sqlstr)

{

$this->sqlstr = $get_sqlstr;

}

function check_getpage($page)

{

if(!(eregi("[0-9]",$page)))

{

$page = 1;

}

if($page <= 1)

{

return (1);

}

if($page > $this->totalpages)

{

return ($this->totalpages);

}

return ($page);

}

function show()

{

$this->totalrecord = mysql_num_rows(mysql_query($this->sqlstr));

$this->totalpages = ceil($this->totalrecord / $this->pagesize);

$this->getpage = $this->check_getpage($this->getpage);

$this->nextpage = $this->check_getpage($this->getpage + 1);

$this->prevpage = $this->check_getpage($this->getpage-1);

$this->result = mysql_query($this->sqlstr." limit ".($this->getpage - 1) * $this->pagesize .", ". $this->pagesize);

}

function nopage()

{

$this->showerror();

}

function showerror()

{

echo "<table width=\"100%\" border=\"0\" cellspacing=\"1\" cellpadding=\"0\"><tr width=\"100%\"><td>";

echo "<p align=\"center\">暂时没有记录!</p>";

echo "</td></tr></table>";

}

function showpage($get_path) {

if ($this->totalpages == 0) {

$this->nopage();

}

else {

echo "<table width=\"100%\" border=\"0\" cellspacing=\"1\" cellpadding=\"0\"><tr width=\"100%\"><td align=\"center\">";

$nbsp="&nbsp;";

if ($this->getpage == 1) {

echo "第一页".$nbsp."上一页".$nbsp;

}

else {

echo "<a href=\"$get_path?page=1\">第一页</a>$nbsp<a href=\"$get_path?page=$this->prevpage\">上一页</a>$nbsp";

}

if ($this->getpage == $this->totalpages) {

echo "下一页".$nbsp."最后页".$nbsp;

}

else {

echo "<a href=\"$get_path?page=$this->nextpage\">下一页</a>".$nbsp."<a href=\"$get_path?page=$this->totalpages\">最后页</a>".$nbsp;

}

echo "共有 <font color=#ff0000><b>".$this->totalrecord."</b></font> 条记录".$nbsp;

echo "<font color=#ff0000><b>$this->getpage</b></font> (当前页)/ <font color=#ff0000><b>$this->totalpages</b></font> (总页数)".$nbsp;

echo "</td></tr></table>";

}

}

}

?>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航