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. |
Figyelem! Az itt olvasható leírások, nem teljesek és nem biztos, hogy pontosak. Nem
frissülnek folyamatosan, ezért nem mindegyik használható az aktuális verziójú rendszerekben. Mindenki saját
felelősségére használja az itt található ötleteket. Az esetleges károkért nem vállalunk felelősséget.