我试图使一个PHP分页这样的:PHP分页循环问题
$count = $this->dataBaseFunctions->countItems();
$resultperPage = 10;
$offset = 0;
$adjacents = 3;
$totalPages = ceil(intval($count)/$resultperPage);
if (isset($_GET['offset'])) {
$offset = trim($_GET['offset']);
}
$j = $adjacents;
while ($j > 0) {
if (($offset/10) - 1 > 0) {
echo '<a href="anypage/' . ($offset - 10 - ($j * 10)) . '" class="pagelink">' . ($offset - 10 - ($j * 10)) . '</a> ';
}
$j--;
}
/*for ($j = $adjacents; $j > 0; $j--) {
echo '<a href="anypage/' . ($offset - 10 - ($j * 10)) . '" class="pagelink">' . ($offset - 10 - ($j * 10)) . '</a> ';
}*/
echo '<a href="anypage/' . ($offset - 10) . '" class="pagelink current">[' . ($offset - 10) . '] </a> ';
for ($j = 1; $j < ($adjacents + 1); $j++) {
echo '<a href="anypage/' . ($offset - 10 + ($j * 10)) . '" class="pagelink">' . ($offset - 10 + ($j * 10)) . '</a> ';
}
结果应该是这样的(括号=当前clicket页): [0] 1 2 3
当我点击“3”应该看起来像这样(到目前为止): 0 1 2 [3] 4 5 6
但是当我点击“1”时,结果如下所示: -2 -1 0 [ 1] 2 3 4
“0”不是问题,我只是'回应'它进行调试。 我知道我不设置正确的条件,不显示低于1的页面,但我不知道如何使它正确。好像我的眼睛上有西红柿......回声仅用于测试 - 稍后我将整个分页链接保存到一个变量中,以将其分配到页面的底部。它有一些你在这里看到的调试代码,但它显示了我试图做的事情。请让我知道,如果我可以改善这个问题,或者是否有缺失的信息:“为什么你($ offset/10)-1> 0”;-)
后来我需要做同样的东西在JS中,但我想我可以管理,当我知道我在PHP版本中做了什么错误。
*也许这是一个坏主意我想在那里做什么?
什么是'$ adjacents'好? – Reto
$ adjacents是当前页面左侧和右侧的计数。所以如果我点击例如“5”,左边显示2 3 4,右边6 7 8像2 3 4 [5] 6 7 8. 1和9没有显示。 $ adjacents = 3,一次显示7页的范围 –