Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]Stronicowanie(NOWA WERSJA)
Forum PHP.pl > Forum > Przedszkole
adrianozo
Witam ponownie wszystkich użytkowników forum smile.gif
Od kilku dni zastanawiam się jak przerobić swoje stronicowanie.
Aktualnie wygląda to tak:

http://www.nportfolio.pl/portfolio.html#tresc_dol

I działa bez problemu.

Ale chciałbym zrobić tak, że wyświetlanie początkowe będzie tak:
1 2 3 4 5 ... 15 Następna strona

I gdy przejdę na siódmą stronę to będzie coś takiego:
Poprzednia strona... 6 7 8 ... 15 Następna strona

Aktualnie mój kod wygląda tak i nie wiem jak go przerobić:

  1. <?php
  2. include('include/db.php');
  3. $subpage = $_GET['page'];
  4. $perPage = 5;
  5. if (!empty($_GET['subpage']) &amp;&amp; (is_numeric($_GET['subpage'])))
  6. {
  7. $subpage = (int) $_GET['subpage'];
  8. }
  9. if ($subpage < 1)
  10. {
  11. $subpage = 1;
  12. }
  13. $start = ($subpage - 1) * $perPage;
  14. $zapytanie = 'SELECT * FROM `tabela` ORDER BY `id` DESC LIMIT '.$start.', '.$perPage.'';
  15. $idzapytania = mysql_query($zapytanie);
  16. if(mysql_real_escape_string((!isset($_GET['id'])) or empty($_GET['id'])))
  17. {
  18. while ($wiersz = mysql_fetch_array($idzapytania))
  19. {
  20. //To miejsce odpowiada za wyświetlanie rekordów
  21. }
  22. $prev = $subpage - 1;
  23. $next = $subpage + 1;
  24. $prevLink = 'index.php?page='.$prev;
  25. $nextLink = 'index.php?page='.$next;
  26. $ilosc_wierszy = mysql_num_rows($idzapytania);
  27. if($subpage > 1)
  28. echo'<a style="text-decoration: none;" href="'.$prevLink.'">Poprzednia strona</a> ';
  29. $stron=round($ilosc_wierszy/$perPage);
  30. for($i=1; $i<=$stron; ++$i)
  31. {
  32. if($i==$subpage)
  33. echo $i;
  34. else
  35. echo '<a style="text-decoration: none;" href="index.php?page='.$i.'">'.$i.' </a>';
  36. }
  37. if($subpage < $stron)
  38. echo ' <a style="text-decoration: none;" href="'.$nextLink.'">Następna strona</a>';
  39. }
  40. mysql_close($connect);
  41. ?>


Z góry dziękuje za pomoc smile.gif
lor
Spróbuj for przerobić na coś w tym stylu
  1. $page = 15; //na której aktualnie jesteś stronie
  2. $ile = 10; //ile stron
  3. $ostatnia = 40 //ostatnia strona
  4. for ($i=$page-$ile/2; $i< $page+$ile/2; $i++) {
  5. if ($i > 0 && $i < $ostatnia && $i != $page) {
  6. $pagin .= '<a style="text-decoration: none;" href="'.$this->baseurl.'index.php?page='.$i.'">'.$i.'</a>&nbsp;';
  7. } elseif ($i == $page) {
  8. $pagin .= $i .'&nbsp;';
  9. }

Następna, poprzednia wiesz jak zrobić smile.gif
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.