自己写的一个分页类 ,不是很完整,个别没有做验证,但可以使用,分页效果见文章底部。除了链接数据库的代码没有粘贴上来,其他的都粘贴了。供学习使用~
1 <?php 2 /** 3 * Created by PhpStorm. 4 * User: Caoxt 5 * Date: 15-7-3 6 * Time: 上午10:03 7 */ 8 class page { 9 public $pageSize; //每页显示的文章条数 10 public $showPage; //页数条显示的条数 11 public $count; //文章总条数 12 public $page; //当前页 13 public $mergyStr; //存储页码的变量 14 public $skip; //跳转页开关,默认为false关闭 15 16 //初始化参数 17 public function __construct($count, $pageSize = 10, $showPage = 5, $currentPage = 1, $skip = false) { 18 $this->pageSize = $pageSize; 19 $this->showPage = $showPage; 20 $this->count = $count; 21 $this->page = $this->checkPage($currentPage); 22 $this-><strong>2本文来源gaodaima#com搞(代@码$网6</strong><pre>搞gaodaima代码
mergyStr = ”; 23 $this->skip = $skip; 24 } 25 26 //检查传递的$page的合法性 27 public function checkPage($currentPage) { 28 if($currentPage $this->totalPages()) { 32 $currentPage = $this->totalPages(); 33 } 34 return $currentPage; 35 } 36 37 //计算偏移量 38 public function pageOffset() { 39 return ($this->showPage-1)/2; 40 } 41 42 //计算总页数 43 public function totalPages() { 44 return ceil($this->count/$this->pageSize); 45 } 46 47 //获取页面URL 48 public function getPageUrl() { 49 $CurrentUrl = $_SERVER[“REQUEST_URI”]; 50 $arrUrl = parse_url($CurrentUrl); 51 $urlQuery = $arrUrl[“query”]; 52 53 if($urlQuery){ 54 //print_r($this->page); 55 $urlQuery = preg_replace(“/(^|&)page=/” . $this->page, “”, $urlQuery); 56 $CurrentUrl = str_replace($arrUrl[“query”], $urlQuery, $CurrentUrl); 57 58 if($urlQuery){ 59 $CurrentUrl.=”&page”; 60 } 61 else $CurrentUrl.=”page”; 62 63 } else { 64 $CurrentUrl.=”?page”; 65 } 66 67 return $CurrentUrl; 68 } 69 70 //页码显示行 71 public function GetPagerContent() { 72 $start = 1; 73 $end = $this->totalPages(); 74 $this->mergyStr .= “
“;132 133 print_r($this->mergyStr);134 }135 136 //跳转页137 public function skipNumPage() {138 $this->mergyStr .= “”;139 $this->mergyStr .= “第页”;140 $this->mergyStr .= “”;141 $this->mergyStr .= “”;142 }143 144 }