Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zmiana 1 2 3 4 5 6 ( stronnicowanie )
Forum PHP.pl > Forum > PHP
Randallmaster
Chciałbym aby mój kod wyświetlał takie coś:

ostatnia poprzednia 1 2 3 4 5 6 7 8 9 10 nastepna ostatnia

Ograniczenie do 10 stron
oraz jak jestem na 1 stronie to przyciski ostatnia i poprzednia są nieaktywne

zupełnie nie wiem jak to zrobić sad.gif proszę o pomoc


  1. <?php
  2.  
  3.  
  4. if (!isset($_GET['start']))
  5. {
  6. $start = 1;
  7. }
  8. else {
  9. $start = $_GET['start'];
  10. }
  11.  
  12. $na_stronie = 5;
  13. $poczatek = ($start - 1) * $na_stronie;
  14.  
  15. $pobierz = mysql_query('SELECT * FROM `damprace` ORDER BY `data` DESC LIMIT '.$poczatek.','.$na_stronie);
  16.  
  17. while ($wiersz = mysql_fetch_array($pobierz)) {
  18.  
  19. echo "<div id='notatka3'>";
  20. echo "<div style='float: left; margin-left: 10px'>".$wiersz['id']."</div>";
  21. echo "<div style='float: left; margin-left: 10px'><font color='#4c6e9c'>".$wiersz['data']."</div>";
  22. echo "<div style='float: left; margin-left: 10px'><font color='#4c6e9c'>".$wiersz['stanowisko']."</div>";
  23. echo "<div style='float: left; margin-left: 10px'><font color='#4c6e9c'>".$wiersz['firma']."</div>";
  24. echo "<div style='float: left; margin-left: 10px'><font color='#4c6e9c'>".$wiersz['lokalizacja']."</div>";
  25. echo "</div>";
  26.  
  27.  
  28.  
  29. }
  30.  
  31. $count = mysql_query('select count(*) from `damprace`');
  32. $znaleziono = mysql_fetch_array($count);
  33.  
  34. $ile_stron = ceil($znaleziono[0]/$na_stronie);
  35. $kolejne = $start + 1;
  36. $poprzednie = $start - 1;
  37.  
  38. if ($start != 1) {
  39. echo '<a href="damprace.php?start='.$poprzednie.'">&lt;&lt; </a>';
  40. }
  41.  
  42. for ($i = 1; $i <= $ile_stron; $i++) {
  43. if ($i == $start) {
  44. echo '[<b><a href="damprace.php?start='.$i.'">'.$i.'</a></b>]';
  45. }
  46. else {
  47. echo ' <a href="damprace.php?start='.$i.'">'.$i.'</a> ';
  48. }
  49. }
  50.  
  51. if ($ile_stron > $start) {
  52. echo '<a href="damprace.php?start='.$kolejne.'"> &gt;&gt;</a>';
  53. }
  54. ?>


W jaki sposób można dodać "początek" i "koniec" oraz jak zrobić aby np "początek" i "poprzednia" na 1 stronie stronnicowania było nieaktywne np. szary kolor a na 2 już było aktywne?? sad.gif
Luneth
Musisz porobić instrukcje warunkowe i mieć trochę wyobraźni matematycznej, że tak to ujmę biggrin.gif Parę podpowiedzi: jak masz pętlę generującą te linki, to przedtem ustal jej zakres, żeby zawsze for miał tylko 10 przebiegów, a linki pierwszej i ostatniej strony w zależności od instrukcji warunkowej sprawdzających $start - bo ile masz wyświetlonych to zawsze wiesz, bo to liczba stała, czyli Twoje max 10 winksmiley.jpg
Oraz mała rada - ilość wszystkich rekordów przechowuj w ciasteczku lub jakiejś zmiennej sesyjnej, wyobraź sobie sytuację, że w tabeli masz paręset tys. rekordów i nagle ileś tam userów Ci zaczyna przeglądać stronę - mysql troche ciężko będzie miał, a tak ciasteczko np może wygasać po godzinie.
Qleer
Aha chcesz żeby ktoś Ci dał gotowy kod? Wpisz w google php pagnation...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.