分页问题

时间:2012-05-31 20:46:04

标签: php pagination

我目前正在使用以下代码段进行即兴分页系统。不幸的是,我遇到了一些障碍。变量$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';
    }
} ?>

1 个答案:

答案 0 :(得分:1)

您无需修改​​--$result->info['page'],只需将其替换为($result->info['page'] - 1),一切顺利

http://ideone.com/WiGh4

<?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';
    }
}

?>