设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 创业者 手机 数据
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP实例源代码 PHP实现翻页处理的类

发布时间:2022-03-07 15:50 所属栏目:121 来源:互联网
导读:以下为引用的内容: ?php class Page{ var $CountAll; //共有纪录数 var $CountPage; //每页显示记录数 var $Link; //显示 完整的分页信息 var $ForPage; //上一页 var $NextPage; //下一页 var $FirstPage; //第一页 var $LastPage; //最后一页 var $CurrPa
  以下为引用的内容:
  <?php
  class Page{
  var $CountAll; //共有纪录数
  var $CountPage; //每页显示记录数
  var $Link; //显示 完整的分页信息
  var $ForPage; //上一页
  var $NextPage; //下一页
  var $FirstPage; //第一页
  var $LastPage; //最后一页
  var $CurrPage; //第几页
  var $PageNum; //共有多少页
  var $Parameter; //参数
  var $LimitNum; //不是统计全部记录,而是显示部分记录,例如共有100条记录,但是只统计显示前50条
 
  function Page($sql, $num=30){
 
  //初始化,统计记录数
  $this->CountPage = $num;
  global $mysql;
  $sql = base64_decode($sql);
  $result = $mysql->Query($sql);
  if (0 != $mysql->AffectedRows()){
  $row = $mysql->FetchArray($result);
  $this->CountAll = $row[0];
  }
  else{
  $this->CountAll = 0;
  }
  //print "共有 $this->CountAll <br>";
  }
 
  function ListPage($sql, $page=0,$sql_all,$other){
  //查询,定义变量,获取数据
 
  global $mysql;
  //print "sql sql<br>";
  if (isset($this->LimitNum) && $this->CountAll > $this->LimitNum){
  $this->CountAll = $this->LimitNum;
  }//更新总浏览记录数
 
  $sql_src = $sql;
  //if ($page > 0){
  $sql = base64_decode($sql);
  $sql_all = base64_decode($sql_all);
  $sql_src = $sql;
  //}
  //echo $sql;
  if (($this->CountAll % $this->CountPage) == 0)//统计共有多少页
  $pagecount = (integer)($this->CountAll/$this->CountPage);
  else
  $pagecount = (integer)($this->CountAll/$this->CountPage) 1;
  $this->ageNum = $pagecount;
  if ($page > $this->ageNum)//如果页码超过页码总数则设为最大页码
  $page = $this->ageNum;
  if ($page <= 0)//如果页码小于等于零则将页码设置为1
  $page = 1;
 
  if ($this->CountAll == 0)
  {
  $this->CurrPage = 0;
  }else{
  $this->CurrPage = $page;
  }
  $first_start = ($page-1)*$this->CountPage;
  $sql = $sql." limit ".$first_start.", ".$this->CountPage;
  //print "2sql<br>";
  $result = $mysql->Query($sql);
  if (0 != $mysql->AffectedRows()){
  $i = 0;
  while($row = $mysql->FetchArray($result)){
  $array[$i] = $row;
  //print "name:".$array[$i][Name]."<br>";
  $i ;
  }
  }
 
  $sql = base64_encode($sql_src);
  $sql_all = base64_encode($sql_all);
  if ($pagecount >1){
  if($page == 1){
  $nextpage = $page 1;
  $forpage = 1;
  $this->Link = "<button onClick="javascript:location.href='?query_sql=$sql&query_page=$nextpage".$this->Parameter."&sql_all=".$sql_all."".$other."'" class="button_a" style="width:30;height:22";><img src="images/next.gif" align="absmiddle"> </button><button onClick="javascript:location.href='?query_sql=$sql&query_page=$pagecount".$this->Parameter."&sql_all=".$sql_all."".$other."'" class="button_a" style="width:30;height:22";><img src="images/prev_end.gif" align="absmiddle"> </button>";
  $this->NextPage = "<button onClick="javascript:location.href='?query_sql=$sql&query_page=$nextpage".$this->Parameter."&sql_all=".$sql_all."".$other."'" class="button_a" style="width:30;height:22";><img src="images/next.gif" align="absmiddle"> </button>";
  $this->LastPage = "<button onClick="javascript:location.href='?query_sql=$sql&query_page=$pagecount".$this->Parameter."&sql_all=".$sql_all."".$other."'" class="button_a" style="width:30;height:22";><img src="images/prev_end.gif" align="absmiddle"> </button>";
  }
  else if(($page > 1)&&($page < $pagecount)) {
  $forpage = $page-1;
  $nextpage = $page 1;
  $this->Link = "<button onClick="javascript:location.href='?query_sql=$sql&query_page=1".$this->Parameter."&sql_all=".$sql_all."".$other."'" class="button_a" style="width:30;height:22";><img src="images/prev_top.gif" align="absmiddle"> </button><button onClick="javascript:location.href='?query_sql=$sql&query_page=$forpage".$this->Parameter."&sql_all=".$sql_all."".$other."'" class="button_a" style="width:30;height:22";><img src="images/prev.gif" align="absmiddle"> </button><button onClick="javascript:location.href='?query_sql=$sql&query_page=$nextpage".$this->Parameter."&sql_all=".$sql_all."".$other."'" class="button_a" style="width:30;height:22";><img src="images/next.gif" align="absmiddle"> </button><button onClick="javascript:location.href='?query_sql=$sql&query_page=$pagecount".$this->Parameter."&sql_all=".$sql_all."".$other."'" class="button_a" style="width:30;height:22";><img src="images/prev_end.gif" align="absmiddle"> </button>";
  $this->ForPage = "<button onClick="javascript:location.href='?query_sql=$sql&query_page=$forpage".$this->Parameter."&sql_all=".$sql_all."".$other."'" class="button_a" style="width:30;height:22";><img src="images/prev.gif" align="absmiddle"> </button>";
  $this->NextPage = "<button onClick="javascript:location.href='?query_sql=$sql&query_page=$nextpage".$this->Parameter."&sql_all=".$sql_all."".$other."'" class="button_a" style="width:30;height:22";><img src="images/next.gif" align="absmiddle"> </button>";
  $this->FirstPage = "<button onClick="javascript:location.href='?query_sql=$sql&query_page=1".$this->Parameter."&sql_all=".$sql_all."".$other."'" class="button_a" style="width:30;height:22";><img src="images/prev_top.gif" align="absmiddle"> </button>";
  $this->LastPage = "<button onClick="javascript:location.href='?query_sql=$sql&query_page=$pagecount".$this->Parameter."&sql_all=".$sql_all."".$other."'" class="button_a" style="width:30;height:22";><img src="images/prev_end.gif" align="absmiddle"> </button>";
  }
  else if ($page = $pagecount){
  $forpage = $page-1;
  $nextpage = 1;
  $this->Link = "<button onClick="javascript:location.href='?query_sql=$sql&query_page=1".$this->Parameter."&sql_all=".$sql_all."".$other."'" class="button_a" style="width:30;height:22";><img src="images/prev_top.gif" align="absmiddle"> </button><button onClick="javascript:location.href='?query_sql=$sql&query_page=$forpage".$this->Parameter."&sql_all=".$sql_all."".$other."'" class="button_a" style="width:30;height:22";><img src="images/prev.gif" align="absmiddle"> </button>";
  $this->FirstPage = "<button onClick="javascript:location.href='?query_sql=$sql&query_page=1".$this->Parameter."&sql_all=".$sql_all."".$other."'" class="button_a" style="width:30;height:22";><img src="images/prev_top.gif" align="absmiddle"> </button>";
  $this->ForPage = "<button onClick="javascript:location.href='?query_sql=$sql&query_page=$forpage".$this->Parameter."&sql_all=".$sql_all."".$other."'" class="button_a" style="width:30;height:22";><img src="images/prev.gif" align="absmiddle"> </button>";
  }
  }
  else{
  $this->Link = ' ';
  }
 
  return $array;//$array;
 
  }
 
  }
  /***************
  使用例子
 
  include("class.config.php");
  include("class.mysql.php");
  include("class.page.php");
  global $mysql;
  $config = new Config;
  $mysql = new TDatabase($config);
 
  $query_all = "select count(*) from user";
  $page_object = new Page($query_all,20);
  //new Page('统计记录个数语句',每页记录个数)
  if(empty($query_page))
  $query_sql = "select * from user";
  //注意这里的变量名必须为 $query_sql $query_page ,因为下一页的连接参数默认为 query_sql query_page
 
  $list = $page_object->ListPage($query_sql,$query_page);
  //ListPage('没有limit的前一部分,系统自动根据补齐',察看的页数)
  $page_object->Parameter = '&action=view';
  //这是传送的Url 所带的其它参数,如果有就修改变量 Parameter ,系统自动将她补在后面
  //显示数据
  for ($i=0;$i< $page_object->CountPage;$i )
  print $list[$i][ID]."->".$list[$i][UserName]."<br>";
  //返回的数据为二维哈西(关联)数组,一维为纪录的标识ID号,二维为哈西(关联)数组,取值标识建议采取用数据库中字段名的方法,例如list[0][UserName]。
 
  //显示其他相关数据
  echo $page_object->CountAll;//纪录总数
  echo $page_object->CountPage;//每页显示数据个数
  echo $page_object->Link;//显示完整的分页信息
  echo $page_object->FirstPage;//第一页
  echo $page_object->NextPage;//下一页
  echo $page_object->ForPage;//上一页
  echo $page_object->LastPage;//最后一页
  echo $page_object->CurrPage;//第几页
  echo $page_object->PageNum;//共有多少页
  $mysql->DatabaseClose();
  ****************/
 
  ?>



(编辑:ASP站长网)

    网友评论
    推荐文章
      热点阅读