Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Nawigator
^piraciq^
post 25.02.2005, 11:39:39
Post #1





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 1.02.2003
Skąd: Kraków

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


Witam Wielkie Zgromadzenie biggrin.gif

mam taka sprawe jak widac w tytule chodzi mi o nawigatora na strone tak jak jest tu na forum na dole z podzialem na strony by bylo widac pirwsza strone ostatnia i piec kolejnych lub dziesiec. klikam na 5 dajmy na to strone i w nawigatorze widac

Pierwsza strona 5 6 7 8 9 10 ostatnia strona cos w tym stylu

z góry dziekuje za pomoc
Go to the top of the page
+Quote Post
Fipaj
post 25.02.2005, 12:25:20
Post #2





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 19.01.2005
Skąd: Warszawa

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


Czy chodzi ci o dzielenie wyników z tabeli MySQL na kilka stron?? Bo dla mnie to nie jest jasna wypowiedź...
  1. <a href="1.htm">1</a>...


--------------------
Go to the top of the page
+Quote Post
tiraeth
post 25.02.2005, 12:29:27
Post #3





Grupa: Przyjaciele php.pl
Postów: 1 789
Pomógł: 41
Dołączył: 30.10.2003
Skąd: Wrocław

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


@Fipaj mam ostatnią prośbę do Ciebie.... Twoje odpowiedzi są żałosne więc się nie odzywaj... ok?

@^piraciq^: Sprecyzuj pytanie: MySQL czy pliki TXT etc. questionmark.gif
Go to the top of the page
+Quote Post
lovefool
post 25.02.2005, 12:47:18
Post #4





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 19.05.2003
Skąd: Millhaven

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


Cytat(Fipaj @ 2005-02-25 12:25:20)
Czy chodzi ci o dzielenie wyników z tabeli MySQL na kilka stron?? Bo dla mnie to nie jest jasna wypowiedź...
  1. <a href="1.htm">1</a>...

nie do jak dla mnie to wypassss laugh.gif laugh.gif laugh.gif


--------------------
Tak kochamy marzenia, że boimy się je realizować ...
Go to the top of the page
+Quote Post
Fipaj
post 25.02.2005, 12:57:03
Post #5





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 19.01.2005
Skąd: Warszawa

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


@Tiraeth: nie zrozumiałem pytania... chociaż może rzeczywiście niepotrzebny post :oops: wacko.gif


--------------------
Go to the top of the page
+Quote Post
Vertical
post 25.02.2005, 13:31:08
Post #6





Grupa: Zarejestrowani
Postów: 848
Pomógł: 0
Dołączył: 7.07.2004
Skąd: Wrocław

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


Załóżmy, że adres na którym użytkownik się znajduje to "index.php?id=5" (informacje na której stronie się znajduje jest w adresie) Najpierw piszesz zapytanie, które policzy ile ma być stron. Załóżmy, że na jednej stronie ma być 10 rekordów:
  1. <?php
  2. //łączenie do bazy...
  3. mysql_query(&#092;"SELECT COUNT(*) AS ilosc FROM tabela WHERE warunek\");
  4. if( !is_int($ilosc/10) )
  5. {
  6.  $ile_stron = ceil($ilosc/10);
  7. } elseif( is_int($ilosc/10) )
  8. {
  9.  $ile_stron = ($ilosc/10);
  10. }
  11. if( $ile_stron >= $_GET['id'] )
  12. {
  13. //teraz wywołujemy strony:
  14. print(&#092;"[<a href = 'index.php?id=1'>Pierwsza</a>]... n\");
  15. }
  16. if( $ile_stron >= ($_GET['id']+1) )
  17. {
  18. print(&#092;"[<a href = 'index.php?id='\". ($_GET['id']+1) .\"'>\". ($_GET['id']+1) .\"] n\"); 
  19. } else
  20. {
  21. }
  22. if( $ile_stron >= ($_GET['id']+2) )
  23. {
  24. print(&#092;"[<a href = 'index.php?id='\". ($_GET['id']+2) .\"'>\". ($_GET['id']+2) .\"] n\");
  25. } else
  26. {
  27. }
  28. //...i tak dalej aż do if( $ile_stron >= ($_GET['id']+5) )
  29. if( $ile_stron != '1' )
  30. {
  31. print(&#092;" ...[<a href = 'index.php?id='\". $ile_stron .\"'>Ostatnia</a>]n\");
  32. }
  33.  
  34. ?>

...jeszcze tego nie testowałem, ale mam nadzieję, że zadziała... Jakby był jakiś błąd to mnie poprawcie

Ten post edytował Vertical 25.02.2005, 13:32:09
Go to the top of the page
+Quote Post
^piraciq^
post 27.02.2005, 21:36:54
Post #7





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 1.02.2003
Skąd: Kraków

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


Sory ze dopiero teraz ale grypa mnie dopadla dzieki za info

@Fipaj - no dzieki fajny pomsyl laugh.gif

@Tiraeth - mysql :-)

@Vertical - dzieki dziala


sory jeszcze raz ze teraz ale mam nadzieje ze rozumiecie :-)

pozdrawiam
Go to the top of the page
+Quote Post
ActivePlayer
post 28.02.2005, 01:51:24
Post #8





Grupa: Przyjaciele php.pl
Postów: 1 224
Pomógł: 40
Dołączył: 6.07.2004
Skąd: Wuppertal

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


porcjowanie bylo nie raz na forum ?
Go to the top of the page
+Quote Post
MStaniszczak
post 28.02.2005, 03:30:32
Post #9





Grupa: Zarejestrowani
Postów: 71
Pomógł: 1
Dołączył: 3.10.2004

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


Witam

Ja kiedyś napisałem sobie taką klasę – działała, ale dziś już mam to inaczej napisane. W każdym razie może się przyda;-) Nowej klasy nie dam, ale może sobie tą ktoś przerobi;-) Jak się przyda to fajno jak nie to też. A jak używać chyba widać;-)

  1. <?php
  2. if (eregi(&#092;"class.pagesMenu.inc.php\",$_SERVER['PHP_SELF'])) {
  3. Header(&#092;"Location: ../index.php\");
  4. die();
  5. }
  6.  
  7. class cPagesMenu {
  8. var $current;
  9. var $max;
  10.  
  11. var $jumpSize;
  12.  
  13. var $numbersTable;
  14.  
  15. var $next;
  16. var $back;
  17.  
  18. function cPagesMenu($from, $max, $jump) {
  19. $this->current = ceil($from/$jump)+1;
  20. $this->max = ceil($max/$jump);
  21. $this->jumpSize = $jump;
  22.  
  23. if($from<0)
  24. $form = 0;
  25.  
  26. if($from>$max)
  27. $from = $max-$jump;
  28.  
  29. if($this->current<=3) {
  30. $to = $this->max;
  31. if($this->max>=7)
  32. $to = 7;
  33.  
  34. for($count = 1; $count<=$to; $count++) {
  35. if($count == $this->current)
  36. $tmp = array('Number' => $count, 'Current' => true);
  37. else
  38. $tmp = array('Number' => $count, 'Current' => false, 'From' => ($count-1)*$jump);
  39.  
  40. $this->numbersTable[$count-1] = $tmp;
  41. }
  42.  
  43. if($this->current > 1)
  44. $this->back = true;
  45. else
  46. $this->back = false;
  47.  
  48. if($this->current < $this->max)
  49. $this->next = true;
  50. else
  51. $this->next = false;
  52. } elseif($this->current<=($this->max-3) && ($this->current>3)) {
  53. for($count = $this->current-3, $index = 0; $count<=$this->current+3; $count++, $index++) {
  54. if($count == $this->current)
  55. $tmp = array('Number' => $count, 'Current' => true);
  56. else
  57. $tmp = array('Number' => $count, 'Current' => false, 'From' => ($count-1)*$jump);
  58.  
  59. $this->numbersTable[$index] = $tmp;
  60. }
  61.  
  62. if($this->current > 1) 
  63. $this->back = true; 
  64. else
  65. $this->back = false;
  66.  
  67. if($this->current < $this->max)
  68. $this->next = true;
  69. else
  70. $this->next = false;
  71. } elseif($this->current>($this->max-3)) {
  72. if($this->max > 7)
  73. $fr = $this->max-6;
  74. else
  75. $fr = $this->max-($this->max-1);
  76.  
  77.  
  78. for($count = $fr, $index = 0; $count<=$this->max; $count++, $index++) {
  79. if($count == $this->current)
  80. $tmp = array('Number' => $count, 'Current' => true);
  81. else
  82. $tmp = array('Number' => $count, 'Current' => false, 'From' => ($count-1)*$jump);
  83.  
  84. $this->numbersTable[$index] = $tmp;
  85. }
  86.  
  87. if($this->max-$this->current >= 0)
  88. $this->back = true;
  89. else
  90. $this->back = false;
  91.  
  92. if($this->current<$this->max)
  93. $this->next = true;
  94. else
  95. $this->next = false;
  96. }
  97. }
  98.  
  99. function getNumbers() {
  100. return $this->numbersTable;
  101. }
  102.  
  103. function getCurrent() {
  104. return $this->current;
  105. }
  106.  
  107. function getNext() {
  108. if($this->next)
  109. return (($this->current-1)*$this->jumpSize)+$this->jumpSize;
  110. else 
  111. return false;
  112. }
  113.  
  114. function getBack() {
  115. if($this->back)
  116. return (($this->current-1)*$this->jumpSize)-$this->jumpSize;
  117. else
  118. return false;
  119. }
  120. }
  121. ?>

Pozdrawiam
Marcin Staniszczak
Go to the top of the page
+Quote Post
^piraciq^
post 2.03.2005, 21:09:27
Post #10





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 1.02.2003
Skąd: Kraków

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


Witam ja tez coś mam moze komus sie kiedys przyda
  1. <? 
  2. $sql_num = $sql->query(&#092;"SELECT * FROM tabela\"); 
  3. $ile=mysql_num_rows($sql_num); 
  4. $limit=&#092;"5\";// ilosc linkow 
  5. $limit_linkow=&#092;"50\";//ile wynikow na stronie
  6. $count=$ile/$limit_linkow; 
  7.  
  8.  $page = (isset($_GET['page'])) ? (int)$_GET['page'] : 1; 
  9.  if (($page < 1) || ($page > $count)) $page = 1; 
  10.  
  11.  if ($count > $limit) { 
  12.  
  13.  $start = $page - floor($limit / 2); 
  14.  if ($start < 1) $start = 1; 
  15.  
  16.  $end = $start + $limit - 1; 
  17.  if ($end > $count) { 
  18. $end = $count; 
  19. $start = $end - $limit; 
  20.  } 
  21.  
  22.  } else { 
  23. $start = 1; 
  24. $end = $count; 
  25.  } 
  26.  
  27.  $pgback = $page - 1; 
  28.  $pgnext = $page + 1; 
  29.  
  30.  if ($page >1) echo&#092;"<a href=\"?page=$pgback\"><< poprzednia</a>\"; 
  31.  for ($x=$start;$x<=$end;$x++) { 
  32.  
  33. if ($x != $page) { 
  34.  $t = $x; 
  35.  
  36.  echo &#092;" <a href=\"?page=$x\">$t</a>n \"; 
  37. } else echo &#092;" <b>[$x]</b> \"; 
  38.  
  39.  } 
  40.  if ($page < $count-1) echo&#092;"<a href=\"?page=$pgnext\">nastepna >></a>n\"; 
  41. ?>



Kazde uwagi mile widziane pozdrawiam mam nadzieje ze komu sie przyda

Ten post edytował ^piraciq^ 2.03.2005, 21:21:08
Go to the top of the page
+Quote Post
Dwight
post 4.03.2005, 16:00:59
Post #11





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 14.02.2005
Skąd: Sosnowiec

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


a jak przerobić to na txt??
Go to the top of the page
+Quote Post
MStaniszczak
post 4.03.2005, 16:28:23
Post #12





Grupa: Zarejestrowani
Postów: 71
Pomógł: 1
Dołączył: 3.10.2004

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


Witam

Klasa którą podałem "stronicuje" niezależnie od bazy, pliku etc;-)

Pozdrawiam
Marcin Staniszczak
Go to the top of the page
+Quote Post
Vengeance
post 4.03.2005, 18:07:05
Post #13





Grupa: Zarejestrowani
Postów: 657
Pomógł: 2
Dołączył: 15.08.2003
Skąd: Łódź

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


Odnosnie TXT:
http://strefaphp.net/index.php?page=forum&...iew_topic&t=268


--------------------
Go to the top of the page
+Quote Post
^piraciq^
post 11.03.2005, 16:08:32
Post #14





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 1.02.2003
Skąd: Kraków

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


  1. <? 
  2. $sql_num = $sql->query(&#092;"SELECT * FROM tabela\"); 
  3. $ile=mysql_num_rows($sql_num); 
  4. $limit=&#092;"5\";// ilosc linkow 
  5. $limit_linkow=&#092;"50\";//ile wynikow na stronie
  6. $count=ceil($ile/$limit_linkow); 
  7.  
  8. $page = (isset($_GET['page'])) ? (int)$_GET['page'] : 1; 
  9. if (($page < 1) || ($page > $count)) $page = 1; 
  10.  
  11. if ($count > $limit) { 
  12.  
  13. $start = $page - floor($limit / 2); 
  14. if ($start < 1) $start = 1; 
  15.  
  16. $end = $start + $limit - 1; 
  17. if ($end > $count) { 
  18. $end = $count; 
  19. $start = $end - $limit; 
  20. } 
  21.  
  22. } else { 
  23. $start = 1; 
  24. $end = $count; 
  25. } 
  26.  
  27. $pgback = $page - 1; 
  28. $pgnext = $page + 1; 
  29.  
  30. if ($page >1) echo&#092;"<a href=\"?page=$pgback\"><< poprzednia</a>\"; 
  31. for ($x=$start;$x<=$end;$x++) { 
  32.  
  33. if ($x != $page) { 
  34.  $t = $x; 
  35.  
  36.  echo &#092;" <a href=\"?page=$x\">$t</a>n \"; 
  37. } else echo &#092;" <b>[$x]</b> \"; 
  38.  
  39. } 
  40. if ($page < $count) echo&#092;"<a href=\"?page=$pgnext\">nastepna >></a>n\"; 
  41. ?>


Wcześniej wkradł sie błąd nikt nie zauważyłquestionmark.gif?
pozdrawiam
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 28.06.2025 - 18:57