![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 2.12.2005 Skąd: Brodnica :) Ostrzeżenie: (0%) ![]() ![]() |
W tabeli gal mam w chwili obecnej ponad 50 rekordów. Chciałbym były one wyświetlane po 10 na stronie. Tak aby automatycznie pojawiały się linki do kolejnych stron: strony 1 | 2 | ... | n Wiem, że do ograniczenia wyników na jednej stronie jest polecenie LIMIT 0, 10 ale nie wiem jak zrobić aby dodawały się linki do kolejnych stron, na których będą rekordy 11-20, 21-30 itd, itd. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 183 Pomógł: 0 Dołączył: 19.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
Jestem początkujący, ale pokaże Ci co ja zrobiłem:
(Większość komentarzy w j.ang ponieważ tak już się nauczyłem, polskie dopisane teraz) Ten fragment zajmuje się łączeniem z bazą, i liczeniem potrzebnych limitów:
Teraz mając już $max_pages i $limit_start mogę zapytać SQL
Następnie wyświetlam wyniki normalnie za pomocą while , a na samym dole dodaję:
A teraz jak wygląda sama funkcja paginate():
Funkcja wyświetla paginator w postaci: << < 1 2 3 > >> Czyli FIRST PREV 1 2 3 NEXT LAST Dla 9 podstron, gdy będziemy znajdowali się na przykład na 6 będzie to wyglądać tak: FIRST PREV 5 6 7 NEXT LAST Przy czym można jej wstawić opcjonalny parametr paginate($page, $max_pages, OPCJA); Który może wynosić 2, 3 itp ... określa ile będzie cyferek ... dla 2 będzie to od 1 do 5 , dla 3 od 1 do 7 ... Paginator podświetla aktualną stronę, jeśli stron jest mniej niż limit to wyświetla ich mniej... Oparty jest na listach i wyświetla listę w postaci: Czyli bardzo łatwo to ostylować (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Tutaj przykład dla 14 newsów w bazie i limitu 10 na strone, więc tylko 2 podstrony (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Dodatkowo, FIRST, PREV , LAST, NEXT mają style z dopiskiem none gdy już nie ma dalszych stron do wyświetlenia (np jeśli znajdujemy się na stronie 9 z 9 to dalej już nie będzie NEXT i LAST ... można wtedy je ostylować jako szare lub display:none) FIRST PREV NEXT LAST są w SPAN, by można było je zastąpić obrazkami (wtedy dla spanów display:none) Linki w postaci jakasstrona.php?page=1 Skrypt jak widać amatorski, ale u mnie działa ... jak się podszkolę to napiszę sobie lepszy, na razie ten musi starczyć (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ten post edytował barat 17.08.2007, 11:46:20 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 2.12.2005 Skąd: Brodnica :) Ostrzeżenie: (0%) ![]() ![]() |
Yyyy ja jestem bardzo początkujący. Teraz mam zadanie na weekend, przeanalizować i zrozumieć Twój kod, bo narazie to czarna magia (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 183 Pomógł: 0 Dołączył: 19.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
W sumie powinno zadziałać bez niczego...
Zamień tylko news na gal oraz order by news_id na id w zapytaniach SQL i powinno śmigać (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) w $show_limit ustaw sobie ile ma być fotek na stronie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) czyli na samej górze funkcja potem pierwszy kod (ten do liczenia) potem zapytanie SQL wyciągające newsy potem Twój kod wyświetlajacy galerie (zapewne masz to w jakiejś pętli) na końcu <?php paginate($page, $max_pages); ?> i linki w postaci galeria.php?page=1 (zamiast galeria.php moze być dowolna inna nazwa, na przykład jakasstrona.php - w zależności jak się nazywa Twój plik z galerią)) Ten post edytował barat 17.08.2007, 12:37:35 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.08.2025 - 02:17 |