我有一个表格,里面装满了一些行,并根据我的分页脚本显示。在此表中有两个GET表单,用于处理排序和每页行数。发送表单后,URL将变为:?page=2&order=desc&view=10
。
问题在于,当我点击其他页面时,我不知道如何传递这些order
和view
值。这是我脚本上一页(或下一页)的链接:
$pagination.= "<li><a href=\"$targetpage?page=$prev\">Prev</a></li>";
$prev
为$page - 1
,其中$page
为$_GET['page']
。当我在第2页时,我需要转到第1页,我只需点击上面的链接,我就需要在网址上随身携带order
和view
。
我试过
$build_query = http_build_query($_GET);
使用以下内容编辑上述行:
$pagination.= "<li><a href=\"$targetpage?page=$prev{$build_query}\">Prev</a></li>";
但当然,只要我点击链接就会给我
?page=1page=2&order=desc&view=10
所以页面重复了。我也试过unset($_GET['page']);
,但我不知道如何传递上一页的值来正确设置$_GET['page']
。
编辑1 :
整个分页代码都写在函数内部,因此要传递的$ _GET值在页面之间是不同的。
答案 0 :(得分:0)
您可以构建自己的查询字符串函数:
function generate_query_string($page_num)
{
$query = '?';
foreach ($_GET as $key => $value) {
if ($key == 'page') {
$query.=$key.$page_num;
} else {
$query.=$key.'='.$value.'&';
}
}
// remove trailing '&'
return substr($query, 0, strlen($query) - 1);
}
当您调用该函数时,您可以将所需的页码作为参数传递。