php的一个分页类

转载 2005年05月16日 22:00:00

//-----------------------------
//  实现分页效果
//-----------------------------
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写的一个分页类

  • 2011年08月11日 14:00
  • 1KB
  • 下载

封装的一个mysql_lib.php, 主要是一个分页模型

转发请声明出处... 提供的单元测试中没有给出相关数据库, 如要使用, 请自行设计... 有哪些不足和需要改进的地方, 请不吝赐教... 库文件: ...
  • lgg201
  • lgg201
  • 2011年12月12日 21:39
  • 3520

这是我个人写的一个分页类

  • 2011年03月08日 14:37
  • 1KB
  • 下载

Mybatis极其(最)简(好)单(用)的一个分页插件

以前为Mybatis分页查询发愁过,而且在网上搜过很多相关的文章,最后一个都没采用。在分页的地方完全都是手写分页SQL和count的sql,总之很麻烦。 后来有一段时间想从Mybatis内部写一个分...
  • isea533
  • isea533
  • 2014年04月16日 12:32
  • 170474

一个分页函数

  • 2012年08月11日 16:48
  • 1KB
  • 下载

润乾——报表上下各加一个分页标签

报表上下各加一个分页标签 很多网页上都是页面上方和下方各有一个页标(第 X页 共X页 下一页 上一页 跳转到第X页),所以客户希望报表也能想其它网页一样加载出来两个页标,方便用户操作。 润乾本...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:php的一个分页类
举报原因:
原因补充:

(最多只允许输入30个字)