Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]Stronicowanie
domel86
post
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 24.03.2008

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


Witam. Robie sobie takie niewielkie stronicowanie. Troszke moze malo profesjonalnie wyglada, ale dopiero zaczynam zabawe z PHP. Wszystko dziala tak jak powinno, tylko ... po wpisaniu gotowej sciezki np. ?site=strona&show=-10 ... przenosi mnie spowrotem do ?site=strona&show=1 - tak ma byc. Natomiast jesli w miejscu, gdzie jest "-10" wstawie liczbe mniejsza, badz rowna od -33 .... zaczyna sie problem i wyswietla wszystko, jak przy liczbach dodatnich. Nie mam pojecia gdzie jest blad. Czy ktos moglby mi podpowiedziec ?

  1. <?php
  2. if(!isset($_GET['show'])) {
  3. $show = 1;
  4. } else {
  5. $show = $_GET['show'];
  6. }
  7. $podstrona = ceil(count($Files) / 8);
  8. $beginning = 8 * $show - 8;
  9. $Files = array_slice($Files, $beginning, 8);
  10. foreach ($Files as $File) echo $File;
  11. echo '<p class="pages">';
  12. if ($show != "1") {
  13.  $previous = $show - 1;
  14. echo '<a href="?site=strona&show='.$previous.'"> POPRZEDNIA </a>' ."&nbsp; &nbsp;" ."\n";
  15. }
  16.  if ($show < "10") {
  17.  switch ($show) {
  18. case $podstrona  : $next = $show; break;
  19. case $podstrona - 1: $next = $show + 1; break;
  20. case $podstrona - 2: $next = $show + 2; break;
  21. case $podstrona - 3: $next = $show + 3; break;
  22. case $podstrona - 4: $next = $show + 4; break;
  23. case $podstrona - 5: $next = $show + 5; break;
  24. case $podstrona - 6: $next = $show + 6; break;
  25. case $podstrona - 7: $next = $show + 7; break;
  26. case $podstrona - 8: $next = $show + 8; break;
  27. case $podstrona - 9: $next = $show + 9; break;
  28. default: $next = "10"; break;
  29.  }
  30. } 
  31.  if ($show < "10") {
  32.  switch ($show) {
  33. case '1': $before = 1; break;
  34. case '2': $before = 1; break;
  35. case '3': $before = 1; break;
  36. case '4': $before = 1; break;
  37. case '5': $before = 1; break;
  38. case '6': $before = 1; break;
  39. case '7': $before = 1; break;
  40. case '8': $before = 1; break;
  41. case '9': $before = 1; break;
  42. default: $before = $show - 9; break;
  43. }
  44.  }
  45.  if ($show > "9" AND $show < "11") {
  46.  switch ($show) {
  47. case '10': $before = 5; break;
  48. default: $before = $show - 5; break;
  49.  }
  50. }
  51.  
  52.  if ($show > "9" AND $show < "11") {
  53.  switch ($show) {
  54. case $podstrona - 9: $next = $show + 9; break;
  55. default: $next = $show + 5; break;
  56.  }
  57. } 
  58.  if ($show > "10") {
  59.  switch ($show) {
  60. case '1': $before = 1; break;
  61. case '2': $before = 1; break;
  62. case '3': $before = 1; break;
  63. case '4': $before = 1; break;
  64. case '5': $before = 1; break;
  65. case '6': $before = 1; break;
  66. case '7': $before = 1; break;
  67. case '8': $before = 1; break;
  68. case '9': $before = 1; break;
  69. case '10': $before = 1; break;
  70. default: $before = $show - 5; break;
  71.  }
  72. } 
  73.  if ($show > "10") {
  74. switch ($show) {
  75. case $podstrona  : $next = $show; break;
  76. case $podstrona - 1: $next = $show + 1; break;
  77. case $podstrona - 2: $next = $show + 2; break;
  78. case $podstrona - 3: $next = $show + 3; break;
  79. case $podstrona - 4: $next = $show + 4; break;
  80. case $podstrona - 5: $next = $show + 5; break;
  81. case $podstrona - 6: $next = $show + 6; break;
  82. case $podstrona - 7: $next = $show + 7; break;
  83. case $podstrona - 8: $next = $show + 8; break;
  84. case $podstrona - 9: $next = $show + 9; break;
  85. default: $next = $show + 5; break; 
  86. }
  87.  }
  88.  if ($show > "56" AND $show < "58") {
  89.  switch ($show) {
  90. case '57': $before = 50; break;
  91. default: $before = $show - 7; break;
  92. }
  93.  }
  94.  if ($show >= "53" AND $show < "58") {
  95.  switch ($show) {
  96. case $podstrona - 7: $next = $show + 7; break;
  97. default: $next = "57"; break;
  98.  }
  99. }
  100. for ($link = $before; $link <= $next; $link++, $link <= "57") {
  101. if ($link == $show) {
  102. echo '<a href="?site=strona&show='. $link .'"><font color="red" size="6"><b>'.$link.'</b></font></a>'."\n";
  103. } else {
  104. echo '<a href="?site=strona&show='. $link .'"><font color="black" size="5">'.$link.'</font></a>'."\n";
  105. }
  106. }
  107. if ($show != $podstrona AND $show < "57") {
  108. $next = $show + 1;
  109. echo '&nbsp; &nbsp; <a href="?site=strona&show='.$next.'"> NASTEPNA </a>'."\n";
  110. }
  111. if ($show != $podstrona AND $show > "57") {
  112. header("Location: ?site=strona&show=57");
  113. }  
  114. [b]// TU JEST BLAD [/b]
  115. if ($show <= "0") {
  116. header("Location: ?site=strona&show=1");
  117. }
  118. echo '</p>';
  119. echo '<br>';
  120. ?>
Go to the top of the page
+Quote Post

Posty w temacie


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 Aktualny czas: 20.08.2025 - 10:40