Php 将除一个以外的所有$\u GET值保存到下一页
我有一个表,其中填充了一些行,它是根据我的分页脚本显示的。此表中有两个GET表单,用于处理排序和每页的行数。发送表单时,URL变成例如:Php 将除一个以外的所有$\u GET值保存到下一页,php,get,pagination,next,Php,Get,Pagination,Next,我有一个表,其中填充了一些行,它是根据我的分页脚本显示的。此表中有两个GET表单,用于处理排序和每页的行数。发送表单时,URL变成例如:?page=2&order=desc&view=10 问题是,当我单击其他页面时,我不知道如何传递这些订单和视图值。这是指向“我的脚本”上一页(或下一页)的链接: $pagination.= "<li><a href=\"$targetpage?page=$prev\">Prev</a></li>"; 使用以下命
?page=2&order=desc&view=10
问题是,当我单击其他页面时,我不知道如何传递这些订单
和视图
值。这是指向“我的脚本”上一页(或下一页)的链接:
$pagination.= "<li><a href=\"$targetpage?page=$prev\">Prev</a></li>";
使用以下命令编辑上述行:
$pagination.= "<li><a href=\"$targetpage?page=$prev{$build_query}\">Prev</a></li>";
$pagination.=“”;
当然,只要我点击它给我的链接
?page=1page=2&order=desc&view=10
所以页面被重复。我还试图取消设置($_GET['page'])
但我不知道如何传递上一页的值以正确设置$\u GET['page']
编辑1:
整个分页代码都写在一个函数中,因此要传递的$\u GET值在页面之间是不同的。您可以构建自己的查询字符串函数:
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);
}
您可以在调用函数时将所需的页码作为参数传入。可能需要有关您的过程的详细信息。@Jonast92我编辑了一些有关如何使用
http\u build\u query($\u GET)
的详细信息。如果您还需要什么,请告诉我。您是否检查了页面上的拼写?数组键永远不能被复制..奇怪的…@Andrew它被复制了,因为我在{$build\u query}
之前写了page=$prev
,但我不知道如何摆脱page=$prev
并在单击链接时将$prev值传递给$\u get['page']
。我可能会尝试将$prev保存到一个变量,然后使用unset($\u GET['page'])
和$\u GET['page']=$variable
。让我想想。@RiggsFolly$prev
只是$page-1
其中$page
是$\u GET['page']
。这很简单。如果我在第2页,$prev
是1。另外,$targetpage
是index.php
。谢谢!我试过了,它给了我?page=1?order=asc&view=30
,但我刚刚把$query='?
编辑成$query='&'
,效果很好。哦,是的,我会做出改变。实际上,我将更新它,这样您就可以在这个函数中生成整个内容。将字符串设置为两个不同的位置没有意义
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);
}