Advertisement
eyuprog

Custom Library Pagination Codeigniter

Feb 20th, 2014
224
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.54 KB | None | 0 0
  1. //LIBRARY PAGINATION CODE IGNITER
  2. //DEFAULT FOR BOOTSTRAP
  3.  
  4. <?php
  5. class Pagination_library
  6. {
  7.     function paginate_anchor($url, $queryPaging, $total, $per_page) {
  8.         $prevlabel = "&lsaquo; Prev";
  9.         $nextlabel = "Next &rsaquo;";
  10.         $out = '<div class="pagination">';
  11.         $page=$queryPaging;
  12.         $tpages=ceil($total/$per_page);
  13.         $adjacents=$per_page;
  14.         if($page==1) {
  15.                 $out.= "<span>$prevlabel</span>";
  16.         } else if($page==2) {
  17.                 $out.= "<a href='".$url."page=".($page-1)."'>$prevlabel</a>";
  18.         }else {
  19.                 $out.= "<a href='".$url."page=".($page-1)."'>$prevlabel</a>";
  20.  
  21.         }            
  22.         if($page>($adjacents+1)) {
  23.                 $out.= "<a href='".$url."page=1'>1</a>";
  24.         }      
  25.         if($page>($adjacents+2)) {
  26.                 $out.= "...\n";
  27.         }        
  28.         $pmin = ($page>$adjacents) ? ($page-$adjacents) : 1;
  29.         $pmax = ($page<($tpages-$adjacents)) ? ($page+$adjacents) : $tpages;
  30.         for($i=$pmin; $i<=$pmax; $i++) {
  31.                 if($i==$page) {
  32.                         $out.= "<span>$i</span>";
  33.                 }else if($i==1) {
  34.                         $out.= "<a href='".$url."page=$i'>$i</a>";
  35.                 }else {
  36.                         $out.= "<a href='".$url."page=$i'>$i</a>";
  37.                 }
  38.         }
  39.  
  40.         if($page<($tpages-$adjacents-1)) {
  41.                 $out.= "...\n";
  42.         }        
  43.         if($page<($tpages-$adjacents)) {
  44.                 $out.= "<a href='".$url."page=$tpages'>$tpages</a>";
  45.         }
  46.         if($page<$tpages) {
  47.                 $out.= "<a href='".$url."page=".($page+1)."'>$nextlabel</a>";
  48.         }else {
  49.                 $out.= "<span>$nextlabel</span>";
  50.         }
  51.         $out.= "</div>";
  52.         if($total<$per_page)
  53.         {
  54.     return null;
  55.     }else{
  56.     return $out;
  57.     }
  58.     }
  59.    
  60.    
  61. }
  62.  
  63. //HOW TO USE ?
  64. //ON CONTROLLERS OR MODELS
  65. $url=site_url('viewdata/').'?';
  66. $page = isset($_GET['page']) ? mysql_real_escape_string($_GET['page']) : '1';
  67. $limit=10;
  68. $offset = ($page - 1) * $limit;
  69. $sql=$this->db->query("SELECT * FROM TABLE limit $offset,$limit");
  70. $sql2=$this->db->query("SELECT * FROM TABLE");
  71. $datadb=$sql->result();
  72. $totalrow=$sql2->num_rows();
  73. $this->load->library('pagination_library');
  74. $data['links']=$this->pagination_library->paginate_anchor($url,$page,$totalrow,$limit);
  75. $data['results']=$datadb;
  76.  
  77.  
  78. //CREATE VIEWS FOR DATA
  79. foreach($isdata['results'] as $row)
  80. {      
  81.     $row->field1.'<br>';
  82.     $row->field2;
  83. }
  84. echo $isdata['links'];
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement