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.