0

我有一个这样的 URL 页面:

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



?>

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

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

实际上,我更喜欢没有 GET 参数的解决方案。

4

1 回答 1

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

  2. 您可以做的另一件事(如果您使用的是 Apache)是查看 mod_rewrite 的 url。

希望有帮助:)

于 2013-08-05T02:48:00.400 回答