ホームページ > バックエンド開発 > PHPチュートリアル > php mysqlページングクラス(php初心者エントリー)

php mysqlページングクラス(php初心者エントリー)

WBOY
リリース: 2016-07-25 09:00:54
オリジナル
1488 人が閲覧しました
  1. /***

  2. * php mysql ページング クラス
  3. * http://bbs.it-home.org の編成
  4. */
  5. class Pagination{
  6. private $_result;
  7. private $_count; //记录数
  8. private $_pageMax; //最大页
  9. private $_page; //当前页
  10. private $_url;
  11. private $_startPage;//分页条起請
  12. private $_endPage; // 分页条止码
  13. private $_nextPage; //上一页
  14. private $_prePage; //下一页

  15. function __construct($table, $pageSize, $getPage){

  16. $this->_result = $GLOBALS['db']->query('SELECT * FROM '.$table);
  17. $this->_count = $GLOBALS['db']->getRecordNum();
  18. $this->_pageMax = ceil($this->_count/$pageSize);
  19. $this->_result = '';
  20. if($_GET[$getPage] == '')

  21. $this->_page = 1;
  22. else
  23. $this->_page= max(intval($_GET[$getPage]), 1);
  24. $this->_page = min($this->_page, $this->_pageMax);

  25. $offset = ($this->_page - 1) * $pageSize;

  26. $sql = 'SELECT * FROM '.$table.'リミット』。 $オフセット .','。 $pageSize;
  27. $this->_result = $GLOBALS['db']->query($sql);
  28. }
  29. function getRecord(){
  30. return $GLOBALS['db']->getRecord( );
  31. }
  32. function getPageBar($url = '?', $barLn = 10, $style = 1){
  33. if($style == 1){
  34. if($barLn % 2 != 0 ){
  35. $midder = ceil($barLn / 2);
  36. $big_repair = $midder - 1 ;//当上面以进一法取整,则这里為减1,反之是加1
  37. }else{
  38. $midder = $ big_repair = $barLn / 2;
  39. }
  40. $sml_repair = $midder- 1;
  41. $this->_startPage = ($this->_page + $midder) > $this->_pageMax ? $this->pageMax - $barLn : $this->_page - $sml_repair;
  42. $this->_endPage = $this->_page < $真ん中? $barLn : $this->_page + $big_repair;

  43. }elseif($style == 2){
  44. if($this->_page % $barLn == 0 ){
  45. $this->_startPage = $this->_page;
  46. }else{
  47. $this->_startPage = ($this->_page > $barLn)? $this->_page - ($this->_page % $barLn ) : 1;
  48. }
  49. $this->_endPage = $this->_startPage + $barLn - 1;
  50. }
  51. $this-> ;_url = $url;
  52. $this->_nextPage = $this->_page + 1;
  53. $this->_prePage = $this->>_page - 1;
  54. $this->_startPage = max( $this->_startPage, 1);//少なくとも最初页开始
  55. $this->_endPage = min($this->_endPage, $this->_pageMax);//最もただ末页
  56. $this->_result = '当前是:'.$this->_page.'/'.$this->_pageMax. '页,共'.$this->_count.'条记录';
  57. if ($this->_page > 1)
  58. $ this->_result .= '
  59. 9
  60. ';
  61. else
  62. $this->_result .= '9
  63. 3
  64. for($i = $this->_startPage; $i <= $this->_endPage; $i++) {
  65. if ($this->_page == $i)
  66. $this-> _result .= ''.$i.'';
  67. else
  68. $this->_result.= ''.$i.'';
  69. }
  70. if ($this->_page != $this->_pageMax) {
  71. $this->_result .= '4';
  72. $this->_result .= ':< /a>';
  73. } else {
  74. $this->_result.= '4:';
  75. }
  76. $this->_result.= '
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート