我目前正在使用以下代码段进行即兴分页系统。不幸的是,我遇到了一些障碍。变量$result->info['pages']
由远程API返回,是可用页数。变量$result->info['page']
是当前可见的页面。链接在正确的位置按预期显示,但它们的行为就好像页面始终为1(“1”链接始终显示为纯文本,其他所有内容始终显示为链接)。但是,如果我回显$result->info['page']
,它会显示正确的页码,并且显示的信息是正确的。关于我可能做错什么的想法?
<?php if ($result->info['pages'] > '1') {
if ($result->info['page'] != '1') {
echo '<a onClick="location.replace(\'?page=' . --$result->info['page'] . '\');">Prev</a> ';
} else {
echo 'Prev ';
}
for ($i = 1; $i <= $result->info['pages']; $i++) {
if ($i == $result->info['page']) {
echo $i . ' ';
} else {
echo '<a onClick="location.replace(\'?page=' . $i .'\');">' . $i . '</a> ';
}
}
if ($result->info['page'] != $result->info['pages']) {
echo '<a onClick="location.replace(\'?page=' . ++$result->info['page'] . '\');">Next</a>';
} else {
echo 'Next';
}
} ?>
答案 0 :(得分:1)
您无需修改--$result->info['page']
,只需将其替换为($result->info['page'] - 1)
,一切顺利
<?php
$result = new stdClass();
$result->info = array(
'pages' => 2,
'page' => 2
);
if ($result->info['pages'] > '1') {
if ($result->info['page'] != '1') {
echo '<a onClick="location.replace(\'?page=' . ($result->info['page'] - 1) . '\');">Prev</a> ';
} else {
echo 'Prev ';
}
for ($i = 1; $i <= $result->info['pages']; $i++) {
if ($i == $result->info['page']) {
echo $i . ' ';
} else {
echo '<a onClick="location.replace(\'?page=' . $i .'\');">' . $i . '</a> ';
}
}
if ($result->info['page'] != $result->info['pages']) {
echo '<a onClick="location.replace(\'?page=' . ($result->info['page'] + 1) . '\');">Next</a>';
} else {
echo 'Next';
}
}
?>