Zrobiłem sobie bardzo proste stronicowanie na zasadzie przycisków Poprzednia | Następna.
<?php if($_GET[od] == "" OR $_GET[od] < 0) { $od = 0; } else { $od = $_GET[od]; } $ile_na_stronie = 4; //Obliczanie ilości wszystkkich news'ów $n = "SELECT news_id FROM ".$tb_prfx."_news WHERE news_isaccept = '1'"; //Pobranie news'ów $sql = "SELECT pola FROM tablice WHERE warunki LIMIT $od, $ile_na_stronie"; { //wyświetlenie news'a } if($_GET[od] == "" OR $_GET[od] == 0 OR $_GET[od] < 0) { if($n_num > $ile_na_stronie) { $od = $_GET['od'] + $ile_na_stronie; } else { } } elseif($_GET[od] !== "" AND $_GET[od] > 0) { $por = $_GET[od] + $ile_na_stronie; if($por > $n_num) { $od = $_GET[od] - $ile_na_stronie; } else { $od_p = $_GET[od] - $ile_na_stronie; $od_n = $_GET[od] + $ile_na_stronie; echo "<a href=\"".$_SERVER['PHP_SELF']."?od=".$od_p."\">Poprzednia</a> | <a href=\"".$_SERVER['PHP_SELF']."?od=".$od_n."\">Następna</a>"; } } ?>
Działa to na zasadzie zmiennej $od przekazywanej w adresie strony.
Wszystko byłoby fajnie, ale niestety "wredny" użytkownik może zmienić jej wartość na np. 5.
Wtedy wychodzą pewne krzaczki np. po wciśnięciu przycisku "Poprzednia" (5 - 4 = 1 -> 1 - 4 = -3

I tu rodzi się pytanie - jak zawyżyć zmienną $od w górę do "najbliższej" liczby podzielnej przez $ile_na_stronie (w podanym przykładzie 4)