>  기사  >  백엔드 개발  >  PHP 페이징 클래스 코드 예제, PHP 프레임워크에서 사용할 수 있는 페이징 클래스

PHP 페이징 클래스 코드 예제, PHP 프레임워크에서 사용할 수 있는 페이징 클래스

WBOY
WBOY원래의
2016-07-25 08:52:36925검색
  1. //php分页类代码
  2. class page{
  3. public $page; //当前页
  4. public $pagenum; // 页数
  5. public $pagesize; // 每页显示条数
  6. public function __construct($count, $pagesize){
  7. $this->pagenum = ceil($count/$pagesize);
  8. $this->pagesize = $pagesize;
  9. $this->page =(isset($_GET['p'])&&$_GET['p']>0) ? intval($_GET['p']) : 1;
  10. }
  11. /**
  12. * 获得 url 后面get传递的参数
  13. */
  14. public function getUrl(){
  15. $url = 'index.php?'.http_build_query($_GET);
  16. $url = preg_replace('/[?,&]p=(w) /','',$url);
  17. $url .= (strpos($url,"?") === false) ? '?' : '&';
  18. return $url;
  19. }
  20. /**
  21. * 获得分页html
  22. */
  23. public function getPage(){
  24. $url = $this->getUrl();
  25. $start = $this->page-5;
  26. $start=$start>0 ? $start : 1;
  27. $end = $start 9;
  28. $end = $end<$this->pagenum ? $end : $this->pagenum;
  29. $pagestr = '';
  30. if($this->page>5){
  31. $pagestr = "首页 ";
  32. }
  33. if($this->page!=1){
  34. $pagestr.= "上一页";
  35. }
  36. for($i=$start;$i<=$end;$i ){
  37. $pagestr.= "".$i." ";
  38. }
  39. if($this->page!=$this->pagenum){
  40. $pagestr.="下一页";
  41. }
  42. if($this->page 5<$this->pagenum){
  43. $pagestr.="尾页 ";
  44. }
  45. return $pagestr;
  46. } // edit: bbs.it-home.org
  47. }
  48. // 分页代码测试
  49. $page = new page(100,10);
  50. $str=$page->getPage();
  51. echo $str;
  52. ?>
复制代码


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.