使用哈希和参数分页不起作用

时间:2013-08-05 02:32:15

标签: php html pagination

我的网页上有这样的网址:

http://***.com/profile/username#profile_favs

我的分页看起来像这样:

http://***.com/profile/username?s=0&p=1#profile_favs

最后一个例子不起作用。

基本上我的分页功能看起来像这样:

function Pagination($pages, $start, $display, $link_url="", $anchor="") {

echo '<div id="pagination">';

    $current_page = ($start / $display) + 1;

    $paginator_num = 5;
    $pages_display = 10;

    if ($current_page > $pages - $paginator_num) {
        $paginator_num = $pages_display - ($pages - $current_page);
    } elseif ($current_page < $paginator_num + 1) {
        $paginator_num = $pages_display - $current_page;
    } else {
        $paginator_num = 5;
    }

    $min = max($current_page - $paginator_num, 1); 
    $max = min($current_page + $paginator_num, $pages); 

    for ($i = $min; $i <= $max; $i++) {
        if ($i != $current_page) {
            echo '<div class="pagination_link">';
                echo '<a href="/'.$link_url.'?s=' . (($display * ($i - 1))) . '&p=' . $pages . $anchor.'">' . $i . '</a>';
            echo '</div>';

        } else {
            echo '<div id="pagination_active" class="pagination_link">';
                echo $i . ' ';
            echo '</div>';
        }
    }       

    echo '</div>';
}

这是计算页面的部分(这部分包含在我的分页功能之前):

<?php
$display = $display_num;

if (isset($_GET['p']) && is_numeric ($_GET['p'])) {
    $pages = $_GET['p'];

} else {
    $total_results = $qr_num;

    if ($total_results > $display) {
        $pages = ceil ($total_results / $display);
    } else {
        $pages = 1;

    }
}

if (isset($_GET['s']) && is_numeric ($_GET['s'])) {

    $start = $_GET['s'];

} else {
    $start = 0;
}



?>

现在我的问题是:是否有任何解决方法可以让分页与上述网址一起使用:

http://***.com/profile/username?s=0&p=1#profile_favs

实际上我更喜欢没有GET参数的解决方案。有什么帮助吗?

1 个答案:

答案 0 :(得分:1)

  1. 您可以使用带有XMPHttpRequest对象的AJAX调用来获取它而不使用get参数。

  2. 你可以做的另一件事(如果你使用的是Apache)是为了查看网址的mod_rewrite。

  3. 希望有所帮助:)