我的网页上有这样的网址:
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参数的解决方案。有什么帮助吗?
答案 0 :(得分:1)
您可以使用带有XMPHttpRequest对象的AJAX调用来获取它而不使用get参数。
你可以做的另一件事(如果你使用的是Apache)是为了查看网址的mod_rewrite。
希望有所帮助:)