Задача: Постраничный вывод
Исходник: Простой список +предыдущая/следущая страницы, язык: php [code #85, hits: 12150]
автор: this [добавлен: 04.03.2006]
  1. <!-- Отображение пострачного вывода -->
  2. <?php
  3. $N = 145;
  4. $perPage = 10;
  5. $currOffset = 70;
  6. if (isset($_GET['st'])) $currOffset = $_GET['st'];
  7.  
  8. $currNum = 0;
  9. $prevOffset = -1; // Смещение для ссылки "предыдущая" страница
  10. if ($currOffset - $perPage >= 0) $prevOffset = $currOffset - $perPage;
  11.  
  12. $nextOffset = 0; // Смещение для ссылки "следующая" страница
  13. if ($currOffset + $perPage < $N) $nextOffset = $currOffset + $perPage;
  14.  
  15. if ($prevOffset >= 0) {
  16. print ' <a href="?st='.$prevOffset.'">Предыдущая страница</a> ';
  17. }
  18.  
  19. for ($i = 0; $i < $N; $i += $perPage) {
  20. $currNum++;
  21. if ($i == $currOffset) {
  22. print ' <b>'.$currNum.'</b> ';
  23. } else {
  24. print ' <a href="?st='.$i.'">'.$currNum.'</a> ';
  25. }
  26. }
  27.  
  28. if ($nextOffset) {
  29. print ' <a href="?st='.$nextOffset.'">Следующая страница</a> ';
  30. }
  31.  
  32. print "<br><br>";
  33. ?>
  34.  
  35. <!-- Отображение данных(объектов) текущей страницы -->
  36. <b>Объекты</b>:<br>
  37. <?php
  38. $end = $currOffset + $perPage;
  39. if ($end > $N) $end = $N;
  40. for ($i = $currOffset; $i < $end; $i++) {
  41. print ($i+1).'<br>';
  42. }
  43. ?>
Выводит список номеров всех возможных страниц, ссылки на предыдущую и следующую страницы и выделяет текущую страницу.

Для идентификации страниц используется смещение offset в количестве пропускаемых объектов

+добавить реализацию