Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Jak rozwiązać problem pustej ostatniej strony Paginacji
darney
post
Post #1





Grupa: Zarejestrowani
Postów: 124
Pomógł: 0
Dołączył: 21.08.2010
Skąd: Gdynia

Ostrzeżenie: (0%)
-----


Na samym początku limit ustaliłem na 6
  1. 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.

  1.  
  2. $SQL = "SELECT SQL_CALC_FOUND_ROWS *
  3. FROM lesson_inn
  4. ORDER BY id
  5. LIMIT ".mysql_escape_string((int)$_GET['porcja']*ILOSC_WYNIKOW_NA_STRONIE).",".ILOSC_WYNIKOW_NA_STRONIE;
  6. // pobiera ILOSC_NA_STRONIE rekordów z bazy, sortując wg daty rosnąco, zaczynając od $_GET['porcja']*ILOSC_NA_STRONIE
  7. $RES = mysql_query($SQL); // wykonujemy zapytanie
  8. while($AFR = mysql_fetch_assoc($RES)){
  9. /*Wyświetlanie wyników, przykładowo:*/
  10. echo 'tytuł: '.$AFR['category'].'<br />';
  11. }
  12.  
  13. // w inny sposób pobieramy ilosc danych w bazie
  14. $SQL = "SELECT FOUND_ROWS() as Ilosc";
  15. $RES= mysql_query($SQL);
  16. list($iloscWpisow) = mysql_fetch_row($RES);
  17.  
  18. //Teraz wypadało by wyświetlić jakąś nawigację
  19.  
  20. //jeśli nie jesteśmy na pierwszej stronie
  21. if($_GET['porcja']>0){
  22. //wyswietlamy link do poprzedniej strony
  23. echo '<a href="?porcja='.($_GET['porcja']-1).'">Poprzednie</a> ';
  24. }
  25.  
  26. for($i = 0;$i<=floor($iloscWpisow/ILOSC_WYNIKOW_NA_STRONIE);$i++){
  27. echo '<a href="?porcja='.($i).'">[ '.($i+1).' ]</a> ';
  28. }
  29. //jeśli nie jesteśmy na ostatniej stronie
  30. if($_GET['porcja']<floor($iloscWpisow/ILOSC_WYNIKOW_NA_STRONIE)){
  31. //wyświetlamy link do nastepnej strony
  32. echo ' <a href="?porcja='.($_GET['porcja']+1).'">następne</a>';
  33. }
Go to the top of the page
+Quote Post

Posty w temacie
- darney   [MySQL][PHP]Jak rozwiązać problem pustej ostatniej strony Paginacji   2.01.2011, 14:34:16
- - potreb   [PHP] pobierz, plaintext for($i = 1;$i<=flo...   2.01.2011, 16:52:49
- - darney   Niestety tak też próbowałem. Dodanie liczny 1 likw...   2.01.2011, 17:27:41
- - Wicepsik   [PHP] pobierz, plaintext for($i = 0;$i<=flo...   2.01.2011, 17:36:45
- - darney   z odjęciem 1 także próbowałem. 4 strona pusta znik...   2.01.2011, 18:31:08
- - eurosoft   a próbowałeś zamiast floor podstawić ceil ?   2.01.2011, 20:47:10
- - thek   Primo - nie $i<= ale $i < Secundo ...   2.01.2011, 21:43:09
- - darney   Super działa : ) Jeszcze tylko aktywna Porcja pogr...   3.01.2011, 08:57:48
- - thek   [PHP] pobierz, plaintext for($i = 0;$i<ceil...   3.01.2011, 10:38:11
- - darney   indeksy czyli ID w bazie? czy jak? bo troszeczkę n...   3.01.2011, 11:18:26
- - thek   Indeksy w tym wypadku to Twój licznik pętli, czyli...   3.01.2011, 12:00:36
- - darney   Jak prawidłowo powinno wyglądać zapytanie czy ...   3.01.2011, 12:06:18
- - thek   Weź zostaw swój kod jak jest z tym ceil, a w dotyc...   3.01.2011, 12:24:27
- - darney   W porządku tylko jak brzmi zapytanie do aktualnej ...   3.01.2011, 15:22:16
- - thek   A $_GET['porcja'] to niby co jest? Ni...   3.01.2011, 16:10:31
- - darney   Jee wykombinowałem i działa ; ) Mega dźwięczny jes...   3.01.2011, 20:11:56
- - thek   To wykrywaj czy aktualna strona jest pierwsza bądź...   3.01.2011, 21:31:56
- - darney   Dziękuję za pomoc będę próbował. Udało się. [PH...   4.01.2011, 11:04:46
- - thek   Można i owszem... Na stronę idzie normalna numerac...   4.01.2011, 12:30:29
- - darney   właśnie wydaję mi się że po stronie skryptu idzie ...   4.01.2011, 13:37:59
- - thek   To pomyśl tak... Jako linki twórz od 1 wzwyż nie t...   4.01.2011, 14:32:29
- - darney   Nie wiem czy się dobrze zrozumieliśmy. Ja chce że...   4.01.2011, 21:19:09


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 13:43