Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Podstrony problem
mefjiu
post
Post #1





Grupa: Zarejestrowani
Postów: 313
Pomógł: 5
Dołączył: 22.03.2005

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


Witam,
znalazłem kiedyś w sieci skrypcik do numerowania stron używam go na wielu serwisach ale w tym który teraz tworzę potrzebuję go troszkę zmodyfikować.

Otóż chodzi o to że chciałbym aby skrypt zamiast pierwszej podstrony czyli w tym przypadku

"index.php?page=0"
zwracał
"index.php"

a zamiast mnożyć strony przez 10 dawał wyniki kolejno tzn. na 2 podstronie link wyglądał by tak

index.php?page=2
a nie jak jest w tej chili
index.php?page=10

Kompletnie nie wiem jak to zrobić jest to troszkę zagmatwane, więc proszę o pomoc speców. (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif)

Kod wygląda tak:
  1. <?php
  2.  
  3. //link  ilość stron pobierane z GET ilosc wynikow na tsronie
  4. function Pagination( $base_link, $num_items, $start_item, $per_page )
  5. {
  6. $total_pages = ceil( $num_items/$per_page );
  7. if ( $total_pages == 1 )
  8. {
  9. return '';
  10. }
  11. $on_page = floor($start_item / $per_page) + 1;
  12. $page_string = '';
  13. if ( $total_pages > 10 )
  14. {
  15. $init_page_max = ( $total_pages > 3 ) ? 3 : $total_pages;
  16. for($i = 1; $i < $init_page_max + 1; $i++)
  17. {
  18. $page_string .= ( $i == $on_page ) ? $i : sprintf( $base_link, ( ( $i - 1 ) * $per_page ), $i );
  19. if ( $i < $init_page_max )
  20. {
  21. $page_string .= ", ";
  22. }
  23. }
  24. if ( $total_pages > 3 )
  25. {
  26. if ( $on_page > 1 && $on_page < $total_pages )
  27. {
  28. $page_string .= ( $on_page > 5 ) ? ' ... ' : ', ';
  29. $init_page_min = ( $on_page > 4 ) ? $on_page : 5;
  30. $init_page_max = ( $on_page < $total_pages - 4 ) ? $on_page : $total_pages - 4;
  31. for($i = $init_page_min - 1; $i < $init_page_max + 2; $i++)
  32. {
  33. $page_string .= ($i == $on_page) ? $i : sprintf( $base_link, ( ( $i - 1 ) * $per_page ), $i );
  34. if ( $i < $init_page_max + 1 )
  35. {
  36. $page_string .= ', ';
  37. }
  38. }
  39. $page_string .= ( $on_page < $total_pages - 4 ) ? ' ... ' : ', ';
  40. }
  41. else
  42. {
  43. $page_string .= ' ... ';
  44. }
  45. for($i = $total_pages - 2; $i < $total_pages + 1; $i++)
  46. {
  47. $page_string .= ( $i == $on_page ) ? $i : sprintf( $base_link, ( ( $i - 1 ) * $per_page ), $i );
  48. if( $i < $total_pages )
  49. {
  50. $page_string .= ", ";
  51. }
  52. }
  53. }
  54. }
  55. else
  56. {
  57. for($i = 1; $i < $total_pages + 1; $i++)
  58. {
  59. $page_string .= ( $i == $on_page ) ? $i : sprintf( $base_link, ( ( $i - 1 ) * $per_page ), $i );
  60. if ( $i < $total_pages )
  61. {
  62. $page_string .= ', ';
  63. }
  64. }
  65. }
  66. if ( $on_page > 1 )
  67. {
  68. $page_string = sprintf( $base_link, ( ( $on_page - 2 ) * $per_page ), 'Prev' ) . '&nbsp;' . $page_string;
  69. }
  70. if ( $on_page < $total_pages )
  71. {
  72. $page_string .= '&nbsp;' . sprintf( $base_link, ( $on_page * $per_page ), 'Next' );
  73. }
  74. return $page_string;
  75. }
  76.  
  77. define('ILOSC_WYNIKOW_NA_STRONIE', 10);
  78. $statistic = 5000;
  79.  
  80. $start = ( isset( $_GET['page'] ) && is_numeric( $_GET['page'] ) ) ? $_GET['page'] : 1;
  81. echo Pagination( '<a href="index.php?page=%d"><b>%s</b></a>', $statistic, $start, ILOSC_WYNIKOW_NA_STRONIE);
  82. ?>



Myślę, że ten skrypcik przyda się wielu z was tych mniej zaawansowanych programistów (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post

Posty w temacie


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: 22.08.2025 - 21:42