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));