- Aplikace
- Databáze
- Šablony
- Formuláře
- Knihovny
- Návody
Stránkování nedatabázových dat
Pokud máte nějaké vlastní pole, nějaký vlastní zdroj, ke kterému
chcete vytvořit stránkovací blok – odkazy, můžete jednoduše využít
třídu Paginator. Samotný výběr potřebných dat je ale na
vás. Data mohou být ukládána v různých podobách, a těžko vytvořit
univerzální přístup. Pro náš příklad efektivně použijeme metodu
array_slice().
Máme nějaké pole s potřebnými daty. Pak stačí vytvořit instanci
třídy Paginator, a předat aktuální stranu, na které se
nacházíme, celkový počet stran. Ten si ale musíme vypočítat sami (počet
položek děleno počet položek na stránku a zaokrouhlit nahoru).
Dále je teď potřeba vyfiltrovat potřebná data, která chceme zobrazit na
stránku. Použijeme již dříve zmíněnou funkci array_slice.
Pak už můžeme volat jednotlivé metody Paginatoru.
require_once 'haefko/loader.php'; # nacteme knihovny
# nase data, ktera chceme strankovat
$data = array('Petr', 'Anna', 'Martin', 'Jan', 'Pavla', 'Romana', 'Alice', 'Lukas');
$page = (isset($_GET['page']))? $_GET['page']: 1; # stranka, kterou chceme zobrazit
$onpage = 5; # pocet polozek na strance
$data = array_slice($data, ($page - 1) * $onpage, $onpage); # vybereme potrebna data
# data vypiseme
foreach ($data as $name)
echo $name . '<br />';
# vypisem strankovac
$html = new HtmlHelper();
echo $html->paginator(new Paginator($page, count($data), $onpage));
