Na samym początku limit ustaliłem na 6
define('ILOSC_WYNIKOW_NA_STRONIE', 6)
Wpisów w bazie 18. Mam 4 pustą stronę paginacyjną. Jeśli dodam do bazy kolejny wpis to już wcześniej pusta strona będzie zawierała 19 rekord z bazy.
Co powinienem zmienić, aby przy 6 , 12 , 18 wpisie przy osiągniętej równej liczbie limitu nie pokazywał mi skrypt pustej ostatniej strony strony.
Korzystam z poniższego skryptu.
$SQL = "SELECT SQL_CALC_FOUND_ROWS *
FROM lesson_inn
ORDER BY id
LIMIT ".mysql_escape_string((int
)$_GET['porcja']*ILOSC_WYNIKOW_NA_STRONIE
).",".ILOSC_WYNIKOW_NA_STRONIE
; // pobiera ILOSC_NA_STRONIE rekordów z bazy, sortując wg daty rosnąco, zaczynając od $_GET['porcja']*ILOSC_NA_STRONIE
/*Wyświetlanie wyników, przykładowo:*/
echo 'tytuł: '.$AFR['category'].'<br />'; }
// w inny sposób pobieramy ilosc danych w bazie
$SQL = "SELECT FOUND_ROWS() as Ilosc";
//Teraz wypadało by wyświetlić jakąś nawigację
//jeśli nie jesteśmy na pierwszej stronie
if($_GET['porcja']>0){
//wyswietlamy link do poprzedniej strony
echo '<a href="?porcja='.($_GET['porcja']-1).'">Poprzednie</a> '; }
for($i = 0;$i<=floor($iloscWpisow/ILOSC_WYNIKOW_NA_STRONIE
);$i++){ echo '<a href="?porcja='.($i).'">[ '.($i+1).' ]</a> '; }
//jeśli nie jesteśmy na ostatniej stronie
if($_GET['porcja']<floor($iloscWpisow/ILOSC_WYNIKOW_NA_STRONIE)){
//wyświetlamy link do nastepnej strony
echo ' <a href="?porcja='.($_GET['porcja']+1).'">następne</a>'; }