沃梦达 / 编程问答 / php问题 / 正文

分解 PHP 分页链接

Break up PHP Pagination links(分解 PHP 分页链接)

本文介绍了分解 PHP 分页链接的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下方法可以在 PHP 中为我的分页链接创建和返回标记.

public function getPaginationLinks($options) {if($options['total_pages'] > 1) {$markup = '

';if($options['page'] > 1) {$markup .= '<a href="?page=' . ($options['page'] - 1) . ((isset($options['order_by'])) ? "&sort=" . $选项['order_by'] : "") . '"><上一个';}for($i = 1; $i <= $options['total_pages']; $i++) {if($options['page'] != $i) {$markup .= '<a href="?page='. $i . ((isset($options['order_by'])) ? "&sort=" . $options['order_by'] : "") . '">'.$i .'</a>';}别的 {$markup .=''.$i .'</span>';}}if($options['page'] < $options['total_pages']) {$markup .= '<a href="?page=' . ($options['page'] + 1) . ((isset($options['order_by'])) ? "&sort=" . $options['order_by'] : "") . '">next ></a>';}$markup .= '</div>';返回 $markup;}别的 {返回假;}}

我最近才发现(令我惊讶)我已经达到了 70 多个页面,这意味着现在有 70 多个链接显示在底部..

我想知道是否有人可以帮我解决这个问题.如果我说,我不确定大多数分页是如何显示数字的.第 30 页,想法?

解决方案

你只需要显示当前页面加上上一页和后面的 x(比如 4)页.

如果您在第 1 页:

1 2 3 4 5

第 35 页:

31 32 33 34 35 36 37 38 39

第 70 页:

66 67 68 69 70

例如,您还可以使用 «» 添加指向第一页和最后一页的快速链接.

<小时>

示例:

$x = 4;for ($i = $currentPage - $x; $i <$currentPage; $i++){if ($i >= 1) {/* 显示链接 *

本文标题为:分解 PHP 分页链接

基础教程推荐