gpt4 book ai didi

php - Next、Prev 以及之间的数字

转载 作者:行者123 更新时间:2023-11-29 12:23:02 25 4
gpt4 key购买 nike

嘿,所以我尝试调整从 stackoverflow 获得的这段代码,我搜索了又搜索,找到了解释它的视频,我能够更多地“调整”它,但我不明白它,如图所示,当我尝试让它显示更多相邻的数字,当我只有 49 页时,它显示 -1、-2 或 50、51。

This is what I get

我试图让它显示 4 个相邻的数字,如下图所示。我真的无法理解代码。我改变了 if 和所有其他 if 以及一次只改变一个,但仍然没有运气。欢迎任何意见:)

enter image description here

下面是未更改的代码,我添加了变量 $sub3,4,5.. 和 $add3,4,5... 这就是图像的结果。很多帖子都有这个代码,所以我不知道原始代码来自谁...... Source?

$centerPages = "";
$sub1 = $pn - 1;
$sub2 = $pn - 2;
$add1 = $pn + 1;
$add2 = $pn + 2;
if ($pn == 1) {
$centerPages .= '&nbsp; <span class="pagNumActive">' . $pn . '</span> &nbsp;';
$centerPages .= '&nbsp; <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $add1 . '">' . $add1 . '</a> &nbsp;';
} else if ($pn == $lastPage) {
$centerPages .= '&nbsp; <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $sub1 . '">' . $sub1 . '</a> &nbsp;';
$centerPages .= '&nbsp; <span class="pagNumActive">' . $pn . '</span> &nbsp;';
} else if ($pn > 2 && $pn < ($lastPage - 1)) {
$centerPages .= '&nbsp; <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $sub2 . '">' . $sub2 . '</a> &nbsp;';
$centerPages .= '&nbsp; <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $sub1 . '">' . $sub1 . '</a> &nbsp;';
$centerPages .= '&nbsp; <span class="pagNumActive">' . $pn . '</span> &nbsp;';
$centerPages .= '&nbsp; <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $add1 . '">' . $add1 . '</a> &nbsp;';
$centerPages .= '&nbsp; <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $add2 . '">' . $add2 . '</a> &nbsp;';
} else if ($pn > 1 && $pn < $lastPage) {
$centerPages .= '&nbsp; <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $sub1 . '">' . $sub1 . '</a> &nbsp;';
$centerPages .= '&nbsp; <span class="pagNumActive">' . $pn . '</span> &nbsp;';
$centerPages .= '&nbsp; <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $add1 . '">' . $add1 . '</a> &nbsp;';
}

最佳答案

好吧,如果我简化任务而不是找出你的错误?假设 $pn 是当前页面并且 $last=49 (在您的示例中):

$start = max(1, $pn - 4);    // don't want negative or zero
$end = min($pn + 4, $last); // don't want to go past 49
foreach($range($start, $end) as $n)
{
if ($n == $pn) ... not linked ... else ... linked ...
}

关于php - Next、Prev 以及之间的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28757622/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com