PHP lapozás

Ez a Teszt osztály, ami a lapozást valósítja meg, a bejegyzések között, ha 10-nél több van, egy adott tömbben/adatbázisban, ki mire használja.

Az összes bejegyzés számát és az aktuális oldalszámot kell megadni. Majd visszaad egy tömböt, amit fel lehet használni oda vissza lapozáshoz. pl:
Array ( [first] => 0 [previous] => 2 [current] => 3 [next] => 4 [last] => 5 )
 
    <?php
    class Teszt {

        private $page; // aktuális oldalszám
        private $total_count; // összes bejegyzés száma
        private $pagination = array();
        
        public function pagination($page,$total_count){
            
            $page_count=intval($total_count/10); // 10 oldalanként fogunk lapozni

            if($total_count<=10) // ha nincs több 10 bejegyzésnél, nem kell lapozás
            
                return $pagination;
                
            elseif($total_count%10==0){ // ha pont 10 bejegyzés van oldalanként, akkor nem kell plusz egy oldal
            
                if($page==0){ // ha az első oldalon vagyunk, nem kell vissza és első link
                    $pagination["next"]=$page+1;
                    $pagination["last"]=$page_count;
                    
                }
                
                elseif($page!=0&&$page!=$page_count-1){ // nem az első oldalon állunk, de nem is az utolsón
                    $pagination["first"]=0;
                    $pagination["previous"]=$page-1;
                    $pagination["current"]=$page;
                    $pagination["next"]=$page+1;
                    $pagination["last"]=$page_count;    
                }
                
                else{ // az utolsó oldalon állunk
                    $pagination["first"]=0;
                    $pagination["previous"]=$page-1;
                    $pagination["current"]=$page;
                }
                    
                return $pagination;
            }
            else{ // ha nem pont kereken 10 bejegyzés van
            
                if($page==0){ // ha az első oldalon vagyunk, nem kell vissza és első link
                    $pagination["next"]=$page+1;
                    $pagination["last"]=$page_count;
                    
                }
                
                elseif($page!=0&&$page!=$page_count){ // nem az első oldalon állunk, de nem is az utolsón
                    $pagination["first"]=0;
                    $pagination["previous"]=$page-1;
                    $pagination["current"]=$page;
                    $pagination["next"]=$page+1;
                    $pagination["last"]=$page_count;
                }
                else{ // az utolsó oldalon állunk
                    $pagination["first"]=0;
                    $pagination["previous"]=$page-1;
                    $pagination["current"]=$page;
                }
                    
                return $pagination;
            }
        
        }
    }
    /*------------- teszt az osztályhoz --------------- */

        $page=3; // aktuális oldalszám száma
        
        $total_count=55; // az összes bejegyzés száma
        
        print "Aktuális oldal szám: ".$page;
        print "<br />";
        print "Sorok száma:".$total_count;
        print "<br /><br />";    
        
        $main = new Teszt();    // példányosítsunk
        print_r($main->pagination($page,$total_count)); // próbáljuk ki a metódusunkat
    ?>
2014.11.12.