更改分页形式

d7v8vwbk  于 2021-08-09  发布在  Java
关注(0)|答案(1)|浏览(293)

你能帮我改一下页码吗?
完美的外观:
<上一个12 3 4 5下一个>
我提前感谢大家为我的问题所花的时间。谢谢。
我的代码:

  1. <?php } else echo 'Ничего не найдено!';
  2. //вывод страниц-ссылок для переходов, если результатов больше 10,
  3. if($pages) {
  4. for($i=1;$i<=$pages;$i++) { ?>
  5. <a href="<?echo $url.'&page='.$i;?>">[<?=$i?>]</a>
  6. <?php } } ?>
6yoyoihd

6yoyoihd1#

扩展解决方案:

  1. <? if (isset($pages) && $pages > 1) : ?>
  2. <? $left_pages = 4; $right_pages = 4; ?>
  3. <? $_GET['page'] = (int)@$_GET['page']; ?>
  4. <? $_GET['page'] = $_GET['page'] < 1 ? 1 : $_GET['page']; ?>
  5. <? $_GET['page'] = $_GET['page'] > $pages ? $pages : $_GET['page']; ?>
  6. <? $left = $_GET['page'] - $left_pages; ?>
  7. <? $right = $_GET['page'] + $right_pages; ?>
  8. <? if ($left <= 0) {$right += (-1)*$left; $left = 1;} ?>
  9. <? if ($right > $pages) $right = $pages; ?>
  10. <? $pages_range = range($left, $right); ?>
  11. <ul class="pagination">
  12. <? if ($left > 1) : ?>
  13. <li><a href="<?= $url.'&page=1' ?>">1</a></li>
  14. <? endif; ?>
  15. <? if ($_GET['page'] > 1) : ?>
  16. <li><a href="<?= $url.'&page='.($_GET['page']-1) ?>">&lt; PREV</a></li>
  17. <? endif; ?>
  18. <? foreach($pages_range as $page) : ?>
  19. <? $class = ''; if ($_GET['page'] === $page) $class = 'current'; ?>
  20. <li class="<?= $class ?>"><a href="<?= $url.'&page='.$page?>"><?= $page ?></a></li>
  21. <? endforeach; ?>
  22. <? if ($_GET['page'] < $pages) : ?>
  23. <li><a href="<?= $url.'&page='.($_GET['page']+1) ?>">NEXT &gt;</a></li>
  24. <? endif; ?>
  25. <? if ($right < $pages) : ?>
  26. <li><a href="<?= $url.'&page='.$pages ?>"><?= $pages ?></a></li>
  27. <? endif; ?>
  28. <? if ($pages > 20) : ?>
  29. <li>
  30. <form method="get">
  31. or jump to page: <input type="text" name="page" size="3" value="<?= $_GET['page'] ?>" maxlength="<?= strlen($pages) ?>">
  32. <button>ok</button>
  33. </form>
  34. </li>
  35. <? endif; ?>
  36. </ul>
  37. <? endif; ?>
  1. <style>
  2. ul.pagination {
  3. list-style: none;
  4. }
  5. ul.pagination>li {
  6. float: left;
  7. padding: 4px;
  8. margin: 0 4px 0 4px;
  9. border: 0;
  10. }
  11. ul.pagination>li>a {
  12. text-decoration: none;
  13. color: #03adfc;
  14. }
  15. ul.pagination>li>a:hover {
  16. text-decoration: underline;
  17. }
  18. ul.pagination>li.current>a {
  19. text-decoration: none;
  20. color: black;
  21. }
  22. ul.pagination>li.current>a:hover {
  23. text-decoration: none;
  24. }
  25. </style>

链接示例:http://anarjafarov.me/pagination.php?&page=30

  1. ul.pagination {
  2. list-style: none;
  3. }
  4. ul.pagination>li {
  5. float: left;
  6. padding: 4px;
  7. margin: 0 4px 0 4px;
  8. border: 0;
  9. }
  10. ul.pagination>li>a {
  11. text-decoration: none;
  12. color: #03adfc;
  13. }
  14. ul.pagination>li>a:hover {
  15. text-decoration: underline;
  16. }
  17. ul.pagination>li.current>a {
  18. text-decoration: none;
  19. color: black;
  20. }
  21. ul.pagination>li.current>a:hover {
  22. text-decoration: none;
  23. }
  1. <ul class="pagination">
  2. <li><a href="?&page=1">1</a></li>
  3. <li><a href="?&page=49">&lt; PREV</a></li>
  4. <li class=""><a href="?&page=46">46</a></li>
  5. <li class=""><a href="?&page=47">47</a></li>
  6. <li class=""><a href="?&page=48">48</a></li>
  7. <li class=""><a href="?&page=49">49</a></li>
  8. <li class="current"><a href="?&page=50">50</a></li>
  9. <li class=""><a href="?&page=51">51</a></li>
  10. <li class=""><a href="?&page=52">52</a></li>
  11. <li class=""><a href="?&page=53">53</a></li>
  12. <li class=""><a href="?&page=54">54</a></li>
  13. <li><a href="?&page=51">NEXT &gt;</a></li>
  14. <li><a href="?&page=200">200</a></li>
  15. <li>
  16. <form method="get">
  17. or jump to page: <input type="text" name="page" size="3" value="50" maxlength="3">
  18. <button>ok</button>
  19. </form>
  20. </li>
  21. </ul>
展开查看全部

相关问题