Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL] Problem ze stronicowaniem
Forum PHP.pl > Forum > Przedszkole
Doldox
Witam serdecznie,
od niedawna robię sobie for fun stronkę, właściwie korzystam z CMS'a GetSimple, który oparty jest o PHP i XML. CMS ogólnie podoba mi się, do teraz nie sprawiał problemów, choć problem być może nie jest taki trudny jak mi się zdaję.

Korzystając z Panel Admina CMS nie mam możliwości dodawnia kodu PHP do stron, ponieważ jego strony opierają się o XML, który po zapisie zmiany automatycznie przerabia kod pod swoją składnię, co za tym idzie kod PHP jest wyświetlany jako tekst. Z tym sobie poraidziłem przerabiając szablon strony i teraz wybierając odpowiednią stronę kod PHP działa bez problemu. Łączy się z bazą pobiera i wyświetla prawidłowo dane.

Tu niestety pojawia się problem, w niedługim czasie baza danych będzie się rozrastać o kilka wpisów dziennie aż osiągnie rozmiary około 500 może i więcej wpisów. Wyświetlenie 10 rekordów z bazy to nie problem, nawet to dobrze wygląda. Gorzej gdy tych wpisów będzie więcej jak 10, strona się rozciąga i niepotrzebnie wydłuża. Zasotosowałem stronicowanie z tego tutoriala i o ile na zwykłej stronie opartej tylko na PHP pisanej ręcznie to działa bez problemu, to na CMS już mi sprawia trudność. Problemem jest wyświetlenie poprawnego linku który przeniesie mnie na kolejne generowane strony
  1. //jeśli obecna strona, nie twórz linku do strony
  2. if($i*$count==$offset){
  3. echo ' '.$i.' ';
  4. }else{
  5. echo '<a href="index.php?count='.$count.'&offset='.$i.'"> '.$i.' </a>';
  6. }

Aktualnie link jaki wyświetla mi się w pasku adresu to http://xxx.webd.pl/qwe/historia/ (zakładam, że to tak zwane przyjazne URL), nie ma zakończenia tak jak działającym przypadku konkretnym adresem pliku php i nie mam pojęcia jak to zmodyfikować. Ma ktoś może jakieś sugestie?

Pozdrawiam
b4rt3kk
W kodzie wyświetl sobie najpierw za pomocą print_r lub var_dump tablicę $_GET. Będziesz miał świadomość jak wyglądają tam zmienne. Następnie dopisz do adresu http://xxx.webd.pl/qwe/historia/2/ i sprawdź czy strona zadziała. Jeśli tak to będziesz znał nazwę zmiennej, którą możesz później użyć przy stronnicowaniu.
Doldox
Wynik var_dump: array(1) { ["id"]=> &string(8) "historia" }
Wynik print_r: Array ( [id] => historia )

Wniosek, zmienna to historia. Wrzuciłem w link zamiast jakiegokolwiek całego URL tylko nazwe zmiennej:
  1. echo '<a href="historia?count='.$count.'&offset='.$i.'"> '.$i.' </a>';


I działa!!
Dziękuję, leci Pomógł.

Można zamknąćsmile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.