Kód:
<?php
// zadefinovanie pocet zaznamov na jednu stranku
$pocet = 5;
// prevezme z GET cislo strany
$pg = 0;
if (isset($_GET['pg'])) $pg = abs(intval($_GET['pg']));
// nadviazanie spojenia s databazou
require_once("mysql3.php");
$res_pocet = pg_query($db, "SELECT ceil(count(*) / ".$pocet.".0) FROM clanky") or die('Chyba dotazu (pocet)!');
$pocetstran = pg_fetch_result($res_pocet, 0, 0) - 1;
if ($pg > $pocetstran) $pg = 0;
$res_zaznamy = pg_query($db, "SELECT * FROM clanky LIMIT ".$pocet." OFFSET ".($pg * $pocet)) or die('Chyba dotazu (clanky)!');
if (pg_num_rows($res_zaznamy) == 0) {
echo '<div>Databaza neobsahuje ziadny zaznam.</div>';
}
while ($zaznam = pg_fetch_array($res_zaznamy)) {
echo '<div>'.htmlspecialchars($zaznam['cesta']).'</div>';
}
?>
<?php
// lavy navigator
$spat = '<< Späť';
if ($pg > 0) {
$spat = '<a href="./strankovanie.php?pg='.($pg - 1).'" title="Späť">'.$spat.'</a>';
}
echo $spat.' | ';
// jednotlive strany
for ($i = 0; $i <= $pocetstran; $i++) {
if ((($i > $pg - 5) && ($i < $pg + 5)) || ($i == 0) || ($i == $pocetstran)) {
// nahrada cisel skrytych stranok za bodky
$bodky_l = '';
$bodky_p = '';
if (($i == 0) && ($pg > 5)) $bodky_l = '.. ';
if (($i == $pocetstran) && ($pg < $pocetstran - 5)) $bodky_p = '.. ';
if ($i == $pg) {
echo '<span style="color: #00aaff; font-size: 130%">'.($i + 1).'</span> '; // aktualnu stranku zvyrazni inou farbou
} else {
echo $bodky_p.'<a href="./strankovanie.php?pg='.$i.'" title="Strana '.($i + 1).'">'.($i + 1).'</a> '.$bodky_l;
}
}
}
// pravy navigator
$dalsie = 'Ďalšie >>';
if ($pg < $pocetstran) {
$dalsie = '<a href="./strankovanie.php?pg='.($pg + 1).'" title="Ďalšie">'.$dalsie.'</a>';
}
echo '| '.$dalsie;
?>