asimryu

php paginaion

Jun 23rd, 2021
793
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function pagination($total=0, $pageset=10, $blockset=10, $page=1) {
  2.     $totalpage = ceil($total / $pageset); // 전체 페이지 수
  3.     $totalblock = ceil($totalpage / $blockset); // 전체 페이지 븍록 수
  4.     $block = ceil($page / $blockset); // 현재 페이지 블록
  5.     $first_page = (($block - 1) * $blockset) + 1; // 현재 페이지 블록의 첫 번째 페이지
  6.     $last_page = min($totalpage, $block * $blockset); // 현재 페이지 블록의 마지막 페이지
  7.     $prev_page = $page - 1; // 이전 페이지
  8.     $next_page = $page + 1; // 다음 페이지
  9.     $prev_block = $block - 1; // 이전 페이지 블록
  10.     $next_block = $block + 1; // 다음 페이지 블록
  11.     $prev_block_page = $prev_block * $blockset; // 이전 페이지 블록의 마지막 페이지
  12.     $next_block_page = $next_block * $blockset - ($blockset - 1); // 다음 페이지 블록의 첫 번째 페이지
  13.  
  14.     $paginationblock = "<div aria-label='...'><ul class='pagination justify-content-center'>";
  15.  
  16.     if( $page > 1 ) $paginationblock .= "<li class='page-item'><a class='page-link' href='1'>1</a></li>";
  17.     else $paginationblock .=  "<li class='page-item disabled'><a class='page-link' href='1' tabindex='-1' aria-disabled='true'>1</a></li>";
  18.  
  19.     if( $prev_block > 0 ) $paginationblock .= "<li class='page-item'><a class='page-link' href='{$prev_block_page}'><i class='fas fa-chevron-left'></i></a></li>";
  20.     else $paginationblock .= "<li class='page-item disabled'><a class='page-link' href='#!' tabindex='-1' aria-disabled='true'><i class='fas fa-chevron-left'></i></a></li>";
  21.  
  22.     for ( $i=$first_page; $i <= $last_page; $i++ ) {
  23.         if($i != $page) $paginationblock .=  "<li class='page-item'><a class='page-link' href='{$i}'>{$i}</a></li>";
  24.         else $paginationblock .=  "<li class='page-item active' aria-current='page'><a class='page-link' href='#!'>{$i}</a></li>";
  25.     }
  26.  
  27.     if( $next_block <= $totalblock ) $paginationblock .= "<li class='page-item'><a class='page-link' href='{$next_block_page}'><i class='fas fa-chevron-right'></i></a></li>";
  28.     else $paginationblock .=  "<li class='page-item disabled'><a class='page-link' href='#!' tabindex='-1' aria-disabled='true'><i class='fas fa-chevron-right'></i></a></li>";
  29.    
  30.     if( $page < $totalpage ) $paginationblock .= "<li class='page-item'><a class='page-link' href='{$totalpage}'>{$totalpage}</a></li>";
  31.     else $paginationblock .=  "<li class='page-item disabled'><a class='page-link' href='#!' tabindex='-1' aria-disabled='true'>{$totalpage}</a></li>";
  32.  
  33.     $paginationblock .= "</ul></div>";
  34.  
  35.     return $paginationblock;
  36. }
RAW Paste Data