-
-
/**
- 对查询进行分页的类
- @link http://bbs.it-home.org
- */
- class paging
- {
- private $pageSize; //没一页显示的条数 默认是10条。
- private $totlePage; //总共有多少条记录
- private $dbConnection;//数据库连接
- private $nowPageIndex;//当前显示的页数
- private $show; //使用那种方式显示导航,默认的方式是使用show1()首页|上一页|下一页|末页的方式。
- /**
- 构造函数,建立数据库的连接
- @$pageSizeP 没一页显示的条数默认是10条。
- @$show 使用那种方式显示导航,默认的方式是使用show1()首页|上一页|下一页|末页的方式。
- */
- public function _construct($pageSizeP=10,$show="show1")
- {
- $this->dbConnection = @mysql_connect("localhost","username","password");
- if($this->dbConnection)
- {
- die("");
- }
- mysql_select_db($this->dbConnection,"databaseName");
- $this->show = $show;
- $this->pageSize = $pageSizeP;
- }
- /**
- 析构函数,关闭数据库的连接。
- */
- public function _destruct()
- {
- @mysql_close($this->dbConnection);
- }
- /**
- 查询数据库,显示数据库的记录条数。
- @$sql 查询数据库的sql语句。
- @$charset 查询数据库使用的字符集,默认的是UTF-8。
- @return 返回数据库查询的结果,保存成数组,然后返回,条数不确定。
- */
- public function querySQL($sql,$charset="UTF-8")
- {
- mysql_query("SET NAMES ".$charset);
- $rs = @mysql_query($sql);
- if(!$rs)
- {
- die("");
- }
- $num = @mysql_num_rows($rs);
- $this->totlePage= ceil($num/$this->pageSize);
- $this->nowPageIndex = (isset($_POST['page']) || $_POST['page'] >= 1):$_POST['page']?1;
- if($this->nowPageIndex >$this->totlePage)
- {
- $this->nowPageIndex = $this->totlePage;
- }
- $start = ($this->nowPageIndex - 1)*$this->pageSize;
- mysql_free_result($rs);
- $sql .= "LIMIT $start,$this->pageSize";
- $rs = @mysql_query($sql);
- if(!$rs)
- {
- die("");
- }
- $rows = array();
- while($row = @mysql_fetch_row($rs))
- {
- $rows[] = $row;
- }
- @mysql_free_result($rs);
- return $rows;
- }
- /**
- 显示导航兰。
- @$arg 调用显示导航的函数的参数。
- $img1 一个数组,保存导航的连接的图片。在调用show1()使用的。
- $size 导航兰的一行显示的页数。在调用show2()使用的。
- */
- public function show($arg)
- {
- $func = $this->show;
- $this->$func($arg);
- }
- /**
- 以首页|上一页|下一页|末页的方式显示导航。
- @$img1 首页|上一页|下一页|末页对应的图片路径数组,默认是NULL,既不显示 图片。
- */
- private function show1($img1 = NULL)
- {
- $url = $_SERVER['PHP_SELF']."?".$_SERVER['QUERY_STRING'];
- $str = "
|