分页类

来源:互联网 发布:手机农村淘宝 编辑:程序博客网 时间:2024/05/01 20:36

<?php
class page{
 function __construct(){}
 var $pages;

 function  getList($table,$page,$where='',$order='',$pagesize=20){

  global $db ;
  if($where) $where = " WHERE $where "; //条件
  if($order) $order = " ORDER BY $order"; //排序

  $page = max(intval($page), 1); //如果不是第一页,那么$page=1
  $offset = $pagesize*($page-1); //偏移量
  $limit = " LIMIT $offset, $pagesize"; //sql语句的limit部分
  $total = $db->get_one("SELECT count(*) AS `count` FROM $table $where"); //符合条件的记录总数
  $pages = ceil($total[count]/$pagesize); //获取总页数

  $page = min($pages, $page); //当前页不能超过最大页
  $prePage = $page - 1; //上一页
  $prePage = max($prePage, 1); //上一页不能小于1
  $nextPage = $page+1;
  $nextPage = min($nextPage, $pages); //下一页不能超过最大页

  $url = getUrl(); //返回本页url

  $firstPage = pageurl($url, 1); //首页就是第1页
  $prePage = pageurl($url, $prePage); //上一页
  $nextPage = pageurl($url, $nextPage); //下一页
  $lastPage = pageurl($url, $pages); //尾页
  
  $arr = $db->select("SELECT * FROM `$table` $where $order $limit"); //返回本页数组
  
  $pageshtml =  '总数:<b>{$pages}</b>
  <a href="{$firstPage}">首页</a>
  <a href="{$prePage}">上一页</a>
  <a href="{$nextPage}">下一页</a>
  <a href="{$lastPage}">尾页</a>
  页次:<b><font color="red">{$page}</font>/{$pages}</b>
  <input type="text" name="page" id="page" size="2" onKeyDown="if(event.keyCode==13) {redirect(/'{$url}/',document.getElementById(/'page/').value,{$pages}); return false;}">
  <input type="button" value="GO" class="gotopage" onclick="redirect(/'{$url}/',document.getElementById(/'page/').value,{$pages})">';
  $data = str_replace('"', '/"', $pageshtml);
  eval("/$pageshtml = /"$data/";");
  //print_r($urlstr);
  $this->pages = $pageshtml;
  return $arr;

 }
}
?>

原创粉丝点击