Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

12 Stron V  « < 4 5 6 7 8 > »   
Reply to this topicStart new topic
> Pager (stronicowanie), klasa, php4 i php5
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 557
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 557
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 557
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 557
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 557
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 557
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: 27.08.2025 - 14:29