Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak w stronicowaniu porobić tak:
Forum PHP.pl > Forum > PHP
miedzna
Witam, mam taki kod, który robi zapytanie do bazy i stronicowanie:
  1. <TABLE CELLSPACING=0 CELLPADDING=4 WIDTH="600" style="margin-left:-1px;margin-top:1px;">

  1. <?php
  2. $intLimit = 3;
  3. if( empty( $_GET['nr'] ) )
  4. {
  5. $intCurrentPage = 0;
  6. }
  7. else
  8. {
  9. $intCurrentPage = $_GET['nr'];
  10. }
  11. include('connect.php');
  12. $cnt = mysql_result(mysql_query('SELECT COUNT(*) FROM `newsy`'), 0, 0);
  13. $intCount = $cnt;
  14. $aktuwysw = $intCurrentPage +1;
  15.  
  16. echo &#092;"<div align=\"right\">\";
  17.  
  18. for($i = 0; $i<ceil($intCount/$intLimit); $i++)
  19. {echo '<a href=\"calosc.php?nr='.$i.'\">['.($i+1).']</a>&nbsp;';}
  20. echo &#092;"&nbsp;<span class=\"tresc\">strona:<B>$aktuwysw</B></span><BR>\";
  21. echo &#092;"</div>\";
  22.  
  23. $wynik = mysql_query (&#092;"SELECT * FROM newsy \". \"ORDER BY 'data' DESC LIMIT \".($intCurrentPage*$intLimit).\",\".$intLimit) or die (mysql_error());
  24. while ($row = mysql_fetch_array ($wynik)) {
  25. printf(&#092;"<tr><td bgcolor=\"#b5dbef\" class=\"tytul\">&nbsp;<a name=\"%s\"></a>%s</td></tr>n\", $row[\"news_id\"], $row[\"tytul\"]);
  26. printf(&#092;"<tr><td bgcolor=\"#fff3de\"><span class=\"data\">( %s )</span><BR>n\", $row[\"data\"]);
  27. printf(&#092;"<span class=\"tresc\">%s<BR><BR>%s</span><BR><BR></td></tr>n\", $row[\"wstep\"], $row[\"tresc\"]);
  28. }
  29. echo &#092;"</table>\";
  30.  
  31. echo &#092;"<div align=\"right\">\";
  32. for($i = 0; $i<ceil($intCount/$intLimit); $i++)
  33. {echo '<a href=\"calosc.php?nr='.$i.'\">['.($i+1).']</a>&nbsp;';}
  34. echo &#092;"&nbsp;<span class=\"tresc\">strona:<B>$aktuwysw</B></span><BR>\";
  35. echo &#092;"</div>\";
  36. ?>


wszystko działa, tylko wyświetla mi już 12 cyferek, chodzi o to, żeby zastapić część cyferek kropkami ...

Dzieki i pozdrawiam
Kuziu
  1. <?php
  2.  
  3. $limit = 3; // Pokaż 3 wstecz i 3 po od aktualnej ...
  4.  
  5. if($currentPage > $limit){ 
  6.  echo(PIERWSZASTRONA);
  7. }
  8. $start = (($currentPage - $limit)<1) ? 1 : ($currentPage-$limit); 
  9. $end = (($currentPage + $limit)>$totalPages) ? $totalPages : ($currentPage + $limt);
  10. for($i=$start; $i<$end; $i++){
  11.  echo(NUMER STRONY $i);
  12. }
  13. if($currentPage + $limit < $totalPages){ 
  14.  echo(OSTATNIA STRONA);
  15. }
  16.  
  17. ?>

Opis do linii:

5 // Jeśli jesteś np. na 5 stronie a limit ma 3 czyli nie widać linku nr 1 to pokaż link do 1 podstrony
8 // Od której ma zacząć liczyć ... jeśli jesteś np. na 2 podstronie a limit ma 3 (czyli by wyszło na minus) to zacznij od jedynki jak nie to od Aktualnej - 3
9 // to samo co wyżej tylko do obliczneia końca (czy nie wychodzi poza limit)
13 // Jeśli jesteś np. na 3 stronie a wszystkich jest ponad 6 to pokaz link do ostatniej podstrony ... tak jak z pierwszą
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.