Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Stronnicowanie i zgrabne linkowanie, ograniczyć linki
stein
post
Post #1





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 5.10.2006

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


Witam mam taki skrypt ktory stronnicuje księge gości dziala poprawnie i chcialbym go troche zmodyfikować w zwązku z tym proszę o pomoc, skrypt stronicuje wyswietlane rekordy do 10 po czym tworzy kolejną stronę itd. natomiast na dole tworzy linki do tych kolejnych stron czyli np 1,2,3,4,5,6 i tak bez konca będzie 100 stron to stworzy 100 linkow moje pytanie jak to przerobić tak aby pokazywal tylko 10 linkow i ostatni tak by wyświetlane byly tylko od 1 do 10 lub od 1 do 15 i ostatni oraz link do pierwszego linku, nadmieniam ze w tym skrypcie jest tez link do strony poprzedniej i następnej. Co zmienic w tym skrypcie proszę o pomoc?

  1. <?php
  2. require_once ('../gornik_connect.php');
  3.  
  4. $display = 10;
  5.  
  6. // Wyznacza liczbę stron.
  7. if (isset($_GET['np'])) { // Liczba stron już ustalona.
  8.  
  9. $num_pages = $_GET['np'];
  10.  
  11. } else { // Trzeba ją dopiero określić.
  12.  
  13. // Zlicz rekordy
  14. $query = "SELECT COUNT(*) FROM ksiega ORDER BY data ASC";
  15. $result = mysql_query ($query);
  16. $row = mysql_fetch_array ($result, MYSQL_NUM);
  17. $num_records = $row[0];
  18.  
  19. // Wyznacz liczbę stron.
  20. if ($num_records > $display) { // Więcej niż 1 strona.
  21. $num_pages = ceil ($num_records/$display);
  22. } else {
  23. $num_pages = 1;
  24. }
  25.  
  26. } // Koniec instrukcji warunkowej dla zmiennej np.
  27.  
  28. // Określ punkt początkowy wyników w bazie.
  29. if (isset($_GET['s'])) {
  30. $start = $_GET['s'];
  31. } else {
  32. $start = 0;
  33. }
  34.  
  35. tu pobieram dane z bazy itd. $query = "SELECT * FROM ksiega ORDER BY data DESC LIMIT $start, $display";
  36. a potem
  37.  
  38. if ($num_pages > 1) {
  39.  
  40. echo '<br /><p>';
  41. // Określ bieżącą stronę.
  42. $current_page = ($start/$display) + 1;
  43.  
  44. // Jeśli to nie jest pierwsza strona, utwórz łącze do poprzedniej.
  45. if ($current_page != 1) {
  46. echo '<a href="ksiega.php?s=' . ($start - $display) . '&np=' . $num_pages . '">Poprzednia</a> ';
  47. }
  48.  
  49. // Łącza do pozostałych stron.
  50. for ($i = 1; $i <= $num_pages; $i++) {
  51. if ($i != $current_page) {
  52. echo '<a href="ksiega.php?s=' . (($display * ($i - 1))) . '&np=' . $num_pages . '">' . $i . '</a> ';
  53. } else {
  54. echo $i . ' ';
  55. }
  56. }
  57.  
  58. // Jeśli to nie jest ostatnia strona, utwórz łącze do następnej.
  59. if ($current_page != $num_pages) {
  60. echo '<a href="ksiega.php?s=' . ($start + $display) . '&np=' . $num_pages . '">Następna</a>';
  61. }
  62.  
  63. echo '</p>';
  64.  
  65. } // Koniec sekcji łącz.
  66. ?>


Miało być, żeby wyświetlało linki od 1 do 10 lub od 5 do 15 czy tez od 30 do 40 itd.
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: 21.08.2025 - 07:25