我有一个分页方法正在发挥作用。如果我超越第2页,或使用我的上一个或下一个按钮,我的当前页面和总页面变量将附加到URL,结果如下:
http://localhost/project/profile.php?s=0&p=2&s=1&p=2&select_genre=Sci-Fi&select_length=1-25&query=Submit
注意额外的s和p分配
$ s定义起始页面 $ p定义总页数
有没有办法阻止$ s和$ p的值附加到URL?
我确定问题在于我如何在以下网址中的网页上传输GET值,我不知道如何纠正它:
if($pages > 1)
{
echo '<br /><p>'; //Add some extra space
$current_page = ($start/$display) + 1;
//If it's not the first page, make a PREV button
if($current_page != 1)
{
echo '<a href=profile.php?s=' . ($start - $display) . '&p=' . $pages . '&' . http_build_query($_GET) . '"> Previous</a> ';
}
//Make all the numbered pages:
for ($i = 1; $i <= $pages; $i++)
{
if($i != $current_page)
{
echo '<a href="profile.php?s=' . (($display * ($i - 1))) . '&p=' . $pages . '&' . http_build_query($_GET) . '">' . $i . '</a>';
}
else {
echo $i . ' ';
}
}//END FOR LOOP
// If it's not the last page, make a Next button:
if ($current_page != $pages)
{
echo '<a href="profile.php?s=' . ($start + $display) . '&p=' . $pages . '&' . http_build_query($_GET) . '"> Next</a>';
}
echo '</p>';
}
谢谢!
答案 0 :(得分:2)
如果$ _GET包含s或p,那么你最终会加倍:
$clean = $_GET;
unset($clean['p']);
unset($clean['s']);
echo '/someurl?' . http_build_query($clean);
这样的事情应该有效