Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pager (stronicowanie), klasa, php4 i php5
nospor
post
Post #1





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




info
pobierz

Hejka, prezentuję klasę Pager. Umożliwia ona wygenerowanie pager'a oraz pobranie aktualnych indexów rekordów.

Użycie jest proste:

  1. <?php
  2.    $pager = new Pager('idPagera');
  3.    //okreslenie liczby wszystkich rekordów na 500
  4.    $pager->SetTotalRecords(500);
  5.    echo $pager->Render();//wyswietlenie pagera
  6. ?>


Polączenie pagera z pobieraniem rekordów z bazy:
  1. <?php
  2.    $sql = 'select count(*) from TABLE';
  3.    $result = mysql_query($sql);
  4.    $row = mysql_fetch_array($result);
  5.    $recordsCount = $row[0];//pobranie liczby rekordów
  6.    $pager = new Pager('idPagera');
  7.    $pager->SetTotalRecords($recordsCount);//ustawienie liczby rekordów
  8.    //wygenerowanie pagera i zapamietanie go w zmiennej w celu
  9.    //pozniejszego wyswietlenia
  10.    $renderPager = $pager->Render();
  11.    $start = $pager->GetIndexRecordStart();//pobranie indexu rekordu początkowego
  12.    $end = $pager->GetIndexRecordEnd();//pobranie indexu rekordu koncowego
  13.    //zapytanie z uwzglenieniem stronicowania
  14.    $sql = 'select * from TABLE limit '.$start.','.($end - $start + 1);
  15.    //...pobranie wyników i ich wyswietlenie
  16.    echo $renderPager; //wyswietlenie pager'a
  17. ?>

(edit: te przyklady od wersji 2.5 troche inaczej beda wygladac. poprawne kody w paczce)

W podanym przykladzie brakuje oczywiscie sprawdzania, czy dane zapytanie wykonalo sie poprawnie itp. Nie podawałem tego jednak po to, by nie zaciemniać kodu.


Klasa generuje unikalne dla każdego pagera (poprzez idPager'a) zmienne, dzięki czemu na stronie może byc kilka pagerów do różnych tabel. Dodatkow, jesli korzystacie z sesji, klasa pamieta strony w sesji, dzięki czemu nie tracone są informacje o aktualnej stronie przy odwiedzaniu innych linków


Klasa ma 3 sposoby przechodzenia do kolejnych stron:
1) generuje własny wewnetrzny formularz i go submituje
Konstruktor tylko z pierwszym argumentem
2) korzysta z zewnetrznego formularza i musi byc w nim zawarta
Konstruktor z pierwszym i trzecim argumentem. Jako trzeci argument należy podać
idFormularza zawnętrznego
3) poprzez linki. Należy wówczas określić drugi parametr w konstruktorze, który będzie linkiem podstawowym. Do niego dodany będzie parametr odnosnie strony. Ten sposób generuje ogólne zmienne dla pagera, przez co lepiej żeby dla niego na stronie byl tylko jeden pager. Sposób ten może być wykorzystywany przy wyszukiwarkach.

To chyba wszystko. Wszelkiego rodzaju uwagi, sugestie bądź wynalezione błędy proszę zgłaszać. Wysłucham każdej (IMG:style_emoticons/default/smile.gif)

Aha, sposób implemetncji klasy dostosowany do php4. Klasa nie korzysta z żadnych dziwnych funkcji, więc można łatwo dostosować ją do php5. Należy tylko metody i zmienne deklarować w sposób odpowiedni dla php5.

Wszystkie metody i zmienne zaczynajace się na podkreslenie (_) oznaczają, iż są to metody i zmienne prywatne.

A oto przykladowy widok pager'a:
Cytat
|<  <<  <  21  22  23  24  25  26  27  28  29  30  z 200  >  >>  >|

oczywiscie wszystko to linki oprócz aktualnej strony.

Pager jest łatwo konfigurowalny. MOżecie sami okreslic liczbe rekordów na stronie, liczbę stron w pagerze itp.

A pozatym niech wam dobrze służy (IMG:style_emoticons/default/smile.gif)

edit (2006-04-03)
W związku z licznymi uwagami, by klasa nie generowala linkow co x, tylko pare linków przed stroną i parę linków po, wprowadzilem lekkie modyfikacje. Sposób uzywania klasy nie uległ zmianie (jest kompatybilna wstecz (IMG:style_emoticons/default/smile.gif) ). Chcąc użyc nowej metody generowania linków, wystarczy wywołać metodę render() z parametrem true:
  1. <?php
  2. echo $pager->Render(true);
  3. ?>

Mam nadzieję, że w ten sposób usatysfakcjonowałem parę osób (IMG:style_emoticons/default/winksmiley.jpg)

edit (2006-06-13)
Dawno nic nie pisalem. Czas zmienic. A wiec jest wersja 2.0
Główne zmiany:
1) odejscie od przesylania pagera formularzem
2) zapisywanie Pagera do tablicy, z której mozna samemu wygenerowac kod html Pager'a
3) PLucie wyjatkami (IMG:style_emoticons/default/smile.gif)
4) no i obecna wersja jest pod php5. Niedlugo dorobie tez wersje pod php4.

Zapraszam do sciagania i testowania.
W paczce jest kilka przykaldow, min. jak nalezy doczepic generowanie wlasnego kodu html.

Jesli zrobicie swoja funkcje generujaca kod html i bedziecie chcieli sie nia podzielic, wyslijcie mi a ja upublikuje wersje demo z wasza funkcja i wygladem pagera.

edit: 2.0 jest juz i pod php4

edit (2006-08-22)
Wersja 2.01:
- dorobilem na szybko ten link. teraz w konstruktorze, jesli podamy drugi parametr i bedzie w nim ciag:
#PAGE# to link ten zostanie niezmieniony, czyli bedzie tak jak user podal, za wyjatkiem #PAGE#, ktore zostanie zamienione na numer strony
Czyli dla przykladu co podal AxZx powinno byc:
  1. <?php
  2. $pager = new Pager('idPagera', 'wszystkie_numery_#PAGE#');
  3. ?>


- metoda Render moze zwracac teraz tablicę pagera zamiast kodu html. Należy ustawic na true jej trzeci parametr

edit (2007-07-26)
Wersja 2.5. Więcej info tu: http://nospor.pl/pager-2.5.html
Go to the top of the page
+Quote Post
12 Stron V  « < 4 5 6 7 8 > »   
Start new topic
Odpowiedzi (100 - 119)
emi23o9
post
Post #101





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 22.01.2007
Skąd: Łódź

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


Witam!
Mam pewien problemik. (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) Dalaczajac pager'a do swojego kodu, wydaje mi sie, ze robie wszystko ok, jednak wyskakuje mi nastepujacy błąd:
Parse error: parse error, unexpected T_CONST, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /www/data.users/fr/e/e/lsee.fr/www/lsee1/Pager.class.php on line 38

Pomóżcie, please.....

Z gory dziekuje i pozdrawiam

Ten post edytował emi23o9 22.01.2007, 19:18:47
Go to the top of the page
+Quote Post
AxZx
post
Post #102





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 55
Dołączył: 1.03.2005
Skąd: śląsk

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


napisz co masz w linii 38 pliku pager.class.php
Go to the top of the page
+Quote Post
emi23o9
post
Post #103





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 22.01.2007
Skąd: Łódź

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


const _GOTO_FIRST_ = 'gtf';

praktycznie jest to sam poczatek klasy
Go to the top of the page
+Quote Post
nospor
post
Post #104





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




jak na moj gust to ty uzywasz klasy napisanej dla php5 pod php4 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
albo zmien wersje php którego uzywasz, albo weź wersję klasy dla php4
Go to the top of the page
+Quote Post
emi23o9
post
Post #105





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 22.01.2007
Skąd: Łódź

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


ajjjj.... sorka, moj blad.... (IMG:http://forum.php.pl/style_emoticons/default/worriedsmiley.gif) wstyd i hanba, przepraszam... (IMG:http://forum.php.pl/style_emoticons/default/worriedsmiley.gif)

Ten post edytował emi23o9 22.01.2007, 19:33:28
Go to the top of the page
+Quote Post
primo
post
Post #106





Grupa: Zarejestrowani
Postów: 254
Pomógł: 0
Dołączył: 30.12.2003
Skąd: Strzegom

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


Możliwe, że o to co chcę zapytać już było w tym temacie, ale istnieje prawdopodobieństwo użytej nieznanej dla mnie nazwy stąd pytam po swojemu.

Otóż, mam stronkę, która wywoływana jest przez include i ma adres idex.php?op=2 --- użyłem tego napisanego przez Ciebie stronnicowania i działa ok, dopóki nie chcę dać na kolejną podstronę, ponieważ odsyła do strony, której nie ma: pp_idPegera=2. W celu usunięcia problemu oznaczyłem zmienną $pager = new Pager('op=2') oraz w klasie pager w linii 117 - $this->_paramPageNumber = ''.$id; --- wywaliłem spomiędzy średników znak pp_ --- nie wiem czy moje posunięcie było właściwe --- jeśli jest możliwość obejścia tego problemu to proszę o wskazówkę.

Ten post edytował primo 24.02.2007, 23:43:29
Go to the top of the page
+Quote Post
nospor
post
Post #107





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




musisz wywolac konstruktor z drugim parametrem, u ciebie to by bylo mniej wiecej tak:
  1. <?php
  2. $pager = new Pager('idPagera', 'index.php?op=2');
  3. ?>

a kod klasy pozostaw stary.
Go to the top of the page
+Quote Post
Maksymus007
post
Post #108





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 21.01.2007

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


a ja chyba znalazłem błąd, a może i nie
  1. <?php
  2. $pager->SetTotalRecords($gal->getGalleriesCount());
  3. $pager->SetRecordsPerPage(1);
  4.  
  5. $pager_rend = $pager->Render();
  6.  
  7. echo $page = $pager->GetActualPage();
  8. ?>

powodowało wyrzucenie wyjątku o konieczności wywołania GetActualPage() przed Render(), co działało, ale zawsze zwracało 0;
natomiast po zmianie kodu metody GetActualPage() na
  1. <?php
  2. public function GetActualPage() {
  3. //if (!is_null($this->_indexRecordStart))
  4. // throw new Exception(sprintf($this->_errorMsg['call_set'], 'GetActualPage'));
  5. return $this->_actualPage;
  6. }
  7. ?>

działa bardzo ładnie i zwraca poprawny numer strony (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
nospor
post
Post #109





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




hehe, faktycznie, tak to jest jak sie robi ctrl+c, ctrl+v (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
To co wykomentowales powinno wygladac tak:
  1. <?php
  2. if (is_null($this->_indexRecordStart))
  3. throw new Exception(sprintf($this->_errorMsg['call_get'],'GetActualPage'));
  4. ?>

Jutro to poprawie i wrzuce na serwer. thx (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

edit: poprawki naniesione w ostatniej wersji ( 2.02 )
Go to the top of the page
+Quote Post
Maksymus007
post
Post #110





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 21.01.2007

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


Dalej bawiłem się Twoja klasa i brakowało mi w niej takiego bajeru, że jak mam jakieś parametry, np. index.php?a=b&c=2 to coby Pager mi się do tego dopisał. Jak brakowało to i zrobiłem, a nóż się komuś przyda.
Pager by Maksymus007
troche zmieniłem, troche dodałem. Przy czym ten tryb pracy wybieramy przed dodatkowy parametr w konstruktorze, przez co stara funkcjonalność jest niezmieniona.

Jeśli natomiast te dodatki miałby się znaleść w oficjalnym wydaniu to prosze o kontakt (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
nospor
post
Post #111





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Dalej bawiłem się Twoja klasa i brakowało mi w niej takiego bajeru, że jak mam jakieś parametry, np. index.php?a=b&c=2 to coby Pager mi się do tego dopisał.

Przeciez Pager ma taką mozliwosc i pare postow wyzej byla o tym mowa...

W Twoim przypadku nalezy tak wywolac konstruktor:
  1. <?php
  2. $pager = new Pager('idPagera', 'index.php?a=b&c=2');
  3. ?>

I juz.
Czasami dobrze jest przeczytac to, oco inni pytali, a jak sie nie znajdzie tego co sie szuka, to samemu zapytac (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Maksymus007
post
Post #112





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 21.01.2007

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


(IMG:http://forum.php.pl/style_emoticons/default/smile.gif) To wiem, ale nie o to mi chodzilo (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) W tym co podałeś po pierwsze - musisz ten cały ciąg podać jako parametr konstruktora. A pobrać go nie pobiore, musze i tak parsować $_GET. Po drugie jak w tym ciągu będzie index.php?a=b&c=d&page=23 gdzie page to nasz Pager to klasa zrobi z tego index.php?a=b&c=d&page=23&page=22 na ten przykład.
Jednak mówimy o troche innym zastosowaniu (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
nospor
post
Post #113





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




No faktycznie ciut inaczej. Tak czy siak w "normalnych" (bez obrazy (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ) skryptach to ludek (czyli ty) powinien wiedziec jakie ma parametry i zapodac sam wlasciwy link.

No ale kazdy robi jak lubi (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
microh
post
Post #114





Grupa: Zarejestrowani
Postów: 102
Pomógł: 0
Dołączył: 5.11.2006

Ostrzeżenie: (10%)
X----


Mam pytanko odnośnie funkcji createLink

  1. <?php
  2. function _createLink($title, $page, $text) {
  3. return '<a title="'.$title.'" href="'.
  4. ($this->_userWholeLink ? str_replace('#PAGE#', $page, $this->_linkPage) : ($this->_linkPage.$this->_linkSep.$this->_paramPageNumber.'='.$page)).'">'
  5. .$text.'</a>';
  6. }
  7. ?>


Otóż muszę do linku dodac jeszcze
  1. <?php
  2. &cat=" . $_GET['cat'] . "
  3. ?>

Jak tego dokonac?
Go to the top of the page
+Quote Post
Daimos
post
Post #115





Grupa: Zarejestrowani
Postów: 1 319
Pomógł: 118
Dołączył: 26.11.2003
Skąd: Lublin

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


eh czytaj dwa posty wyżej, post nospor`a
Go to the top of the page
+Quote Post
agnieszka87
post
Post #116





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 9.05.2007

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


Prośba do ludzi dobrej woli (IMG:http://forum.php.pl/style_emoticons/default/sadsmiley02.gif)

Przeróbcie mi poniższy kodzik na ten z pagerem.
On jest dla mnie zbyt pogmatwany, zebym umiala go tak zrobic.

PLSSS....

  1. <?php
  2. menu('Ostatnio dodane');
  3.  
  4. if(isset($_GET['typ'])) {
  5. $typ = '`typ` = ' . (int) $_GET['typ'];
  6. }else{
  7. $typ = "((`typ` >= 1 and `typ` <= 4) or (typ = '15') or (typ = '16') or (typ = '17'))";
  8. }
  9.  
  10. //$typ = (isset($_GET['typ']) ? '`typ` = ' . (int) $_GET['typ'] : '((`typ` >= 1 and `typ` <= 4) or (typ = '15'))');
  11. $cat = (isset($_GET['cat']) ? ' and `category` = ' . (int) $_GET['cat'] : '');
  12. $order = '';
  13. if ($_GET['top'] == 1)
  14. {
  15. $order = ' order by `ocena` desc';
  16. }
  17. elseif ($_GET['last'] == 1)
  18. {
  19. $order = ' order by `added` desc';
  20. }
  21.  
  22. $res = mysql_query('select * from `stuff` where ' . $typ . $cat);
  23. // ilosć trafień
  24. $hits = mysql_num_rows($res);
  25.  
  26. $res = mysql_query('select * from `stuff` where ' . $typ . $cat . $order . ' order by added desc limit ' . ((int) $_GET['currentpage'] * iijii) . ', ' . ((int) $_GET['currentpage'] * 10 + 10));
  27.  
  28. if ($hits == 0)
  29. {
  30. echo 'Nie ma żadnych rekordów w tej kategorii.';
  31. }
  32. else
  33. {
  34. while ($row = mysql_fetch_assoc($res))
  35.  
  36. {
  37. if($row['added']>0)
  38. $date = sprintf('<img src="ikonki/dodano.jpg">Dodano: %s <br />', date('Y.m.d', $row['added']));
  39. else
  40. $date = (string) '';
  41. $comments_count = (int) 0;
  42. $query = sprintf("SELECT COUNT(*) AS CommentsCount FROM komentarze WHERE stuff='%d'", $row['id']);
  43. $comments = mysql_query($query);
  44. if($comments) {
  45. $record = mysql_fetch_assoc($comments);
  46. $comments_count = $record['CommentsCount'];
  47. mysql_free_result($comments);
  48. }
  49. if($row['miniaturka']!='') { 
  50. $image = sprintf('<img src="%s" alt="%s" class="icon"align="right"width="133px"height="100px"border="3" />', $row['miniaturka'], $row['title']);
  51. } else {
  52. $image = '';
  53. }
  54. if(isset($categories[$row['category']]))
  55. $cat = sprintf("%s: ", $categories[$row['category']]);
  56. else
  57. $cat = (string) '';
  58. printf('<table bgcolor="#F3F3F3" id="list"><tr><td style="text-align:left; clear:both; padding:0 4px;">%s <b>%s</b><a href="index.php?page=display&id=%d" class="stufflink"style="font-weight:bold;">%s</a><br />%s<img src="ikonki/wykres.jpg">Ocena: %d<br /><img src="ikonki/wykres.gif">Wyswietlen: %d<br /><img src="ikonki/trabka.gif">Komentarzy: %d<br /><img src="ikonki/info.gif">Zasugerował: %s</td></tr></table>',
  59. $image,
  60. $cat, $row['id'], $row['tytul'],
  61. $date,
  62.  
  63.  
  64.  
  65.  
  66. $row['ocena'], $row['counter'],
  67. $comments_count, $row['login']);
  68. }
  69. }
  70.  
  71. echo '<div style="text-align: center">';
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78. /********* NUMEROWANIE *********/
  79.  
  80. $temp = min((int) $_GET['currentpage'] + 5, ceil((float) $hits / 9.0));
  81. echo '<center><table><tr><td>';
  82. if ($_GET['currentpage'] > 0) print("<a href="index.php?page=list&currentpage=" . ($_GET['currentpage'] - 1) . "&cat=" . $_GET['cat'] . ""><img style="float:right;" src="gfx/poprzednia.jpg" border="0"></a></td>");
  83. for ($i = max((int) $_GET['currentpage'] - 4, 0); $i < $temp; $i++)
  84. { echo '<td>';
  85.  print("<a href="index.php?page=list&currentpage=" . $i . "&cat=" . $_GET['cat'] . "">[" . ($i+1) . "]</a> ");
  86.  echo '</td>';
  87.  if($i == ($temp - 1)) {
  88.  echo '<td style="width:80">';
  89. print("<a href="index.php?page=list&currentpage=" . ($_GET['currentpage'] + 1) . "&cat=" . $_GET['cat'] . ""><img style="float:right;" src="gfx/dalej.jpg" border="0"></a>");
  90.  echo '</td></tr>';
  91.  }
  92.  
  93. }
  94. $strona = $_GET['currentpage'] + 1;
  95.  echo '</table></center>';
  96.  if (!isset($_GET['currentpage'])) echo 'Jestes na stronie<b> 1</b>';
  97.  else echo 'Jestes na stronie <b>'.$strona.'</b>';
  98. /*******************************/
  99.  
  100. echo '</div></div>';
  101. echo "$div";
  102.  include ("test.php");
  103. ?>


Dziękuję za pmoc (IMG:http://forum.php.pl/style_emoticons/default/ohmy.gif) (IMG:http://forum.php.pl/style_emoticons/default/worriedsmiley.gif)

Pomoże ktoś (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/offtopic.gif)

Ten post edytował agnieszka87 9.05.2007, 20:22:06
Go to the top of the page
+Quote Post
microh
post
Post #117





Grupa: Zarejestrowani
Postów: 102
Pomógł: 0
Dołączył: 5.11.2006

Ostrzeżenie: (10%)
X----


A ja mam jakiś dziwny problem.
Konstruktor wywołałem tak:

  1. <?php
  2. if (isset($_GET['cat'])) $pager = new Pager('str','?page=list&cat='.$_GET['cat'].'');
  3. else $pager = new Pager('str');
  4. ?>


Wszystko ładnie pięknie, ale gdy zapodam link; http://skifa.pl/index.php?page=list&cat=0
to nie dość, że nie wyswietlaja sie linki "10 stron do przodu" i "Ostatnia strona". To jeszcze pager startuje czasem od 3 strony.

Błąd pagera?

// Mam najnowszaą wersję pod PHP5.
Go to the top of the page
+Quote Post
Balon
post
Post #118





Grupa: Zarejestrowani
Postów: 422
Pomógł: 0
Dołączył: 14.12.2005
Skąd: Wałbrzych

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


Cytat
o jeszcze pager startuje czasem od 3 strony.

Hm, a może dlatego, że pager zapisuje ostatnio odwiedzoną podstronę w sesji ? (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Można to wyłączyć oczywiście.

Osobiście wczoraj skorzystałem z tej klasy i jestem super zadowolony !
Go to the top of the page
+Quote Post
nospor
post
Post #119





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
To jeszcze pager startuje czasem od 3 strony.
Tak jak napisał Balon. Strona jest zapamietywana w sesji, i jeśli nie określisz jawnie strony to pójdzie z sesji jesli byla jakas. Oczywiscie mozna tym sterowac.

Cytat
to nie dość, że nie wyswietlaja sie linki "10 stron do przodu" i "Ostatnia strona"
Hmmm, przyjrzę się temu po weekendzie, bo teraz nie mam dostępu do kodów.

edit:
tak jak przypuszczalem, twoj dodatkowy adres nie ma wplywu na "niepojawianie" sie linkow. Wszystko jest generowane na podstawie zapodawanych danych w postaci liczby rekordow i twoj adres nie ma tu nic do tego. Byc moze ty, źle wyliczasz liczbę rekordów i wychodzi, ze stron jest mniej akurat przy tym adresie i dlatego nie dostajesz ostatnich linkow
Go to the top of the page
+Quote Post
Guli
post
Post #120





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 25.04.2007

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


Uzyłem tę klasę na swojej stronie ale coś nie działa. Chciałem podzielic stronę .html czy .php, w którym są obrazki na dwie części. Zamiast wyswietlać 10 chciałem aby wyswietlił po 5 z dwoma stronami.

Mam np. plik strona.php a w nim kod w divach gdzie dałem obrazki np.

  1. <div class="kolor">
  2. <a href="/images/1.jpg" title="foto" rel="lightbox[roadtrip]"><img alt="foto" src="/images/1a.jpg" /></a>
  3. <h2>Obrazek 1</h2>
  4. <ul>
  5. <li>Opis obrazka</li>
  6. </ul>
  7. </div>
  8.  
  9. <div class="kolor">
  10. <a href="/images/2.jpg" title="foto" rel="lightbox[roadtrip]"><img alt="foto" src="/images/2a.jpg" /></a>
  11. <h2>Obrazek 2</h2>
  12. <ul>
  13. <li>Opis obrazka</li>
  14. </ul>
  15. </div>

I takich jest 10 i chce podzielić na dwie cześci aby wyswietlało po 5 na dwóch stronach. Nie ma tam bazy mysql ani plików tekstowych. Jak dałem poniższy kod to niby wyswietla < 1 2 3 > ale po kliknięciu na stronę 2 nie dzieli w ogólę stronę i na każdej jest nadal 10 obrazków. Jak użyć tę klase ?
  1. <?php
  2. require_once('Pager.class.php', 'index.php?id=strona');
  3.  
  4.  $pager = new Pager('idPagera');
  5.  $pager->SetTotalRecords(10);
  6.  echo $pager->Render();
  7. ?>


Jak zastosować ten kod. Proszę o wskazówki.

Ten post edytował Guli 24.05.2007, 11:45:07
Go to the top of the page
+Quote Post

12 Stron V  « < 4 5 6 7 8 > » 
Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 26.09.2025 - 15:06