保留 $_GET 值,除了两个指定的值
keep $_GET values except two specified
我有一个 HTML 表单用于搜索数据库,表单方法是 GET:
<form method="get" action="">
然后我的 SQL 查询使用 $_GET
值从数据库中选择
我运行 SQL,然后有这个函数 - (http://pastebin.com/J3RL3MxC) - 我在查询
下运行
总的来说,它看起来像:
$sql="SELECT * FROM customer ORDER BY company";
$i=0;
$array = ShowRecords($sql, "customer");
foreach($array["results"] as $ret) {
}
我在 foreach 循环中回显我的结果
这工作正常,但是当浏览该函数创建的页面时,我丢失了 $_GET
值,所以我也丢失了我搜索的内容
我怎样才能保留 $_GET
值,但请记住 $_GET["pagenum"]
需要 removed/changed 以便页面会更改
我已经添加了这段代码:
$query_string = '?';
foreach($_GET as $q => $k) {
if($q == 'id' or $q == 'pagenum') {
//
} else {
if($q != '') {
$query_string = '&'.$q.'='.$k;
}
}
}
在我的函数顶部尝试执行所需的操作($_GET["id"] 也需要删除)但它不保留值
保留除指定值之外的所有 $_GET 值的最佳方法是什么?
P.S:我知道我应该使用 PDO,一旦我解决了这个问题我就会使用它,然后我将更改我的代码以使用 PDO
$id = isset($_GET["id"]) ? $_GET["id"] : NULL;
$pagenum = isset($_GET["pagenum"]) ? $_GET["pagenum"] : NULL;
if($id) {
}
if($pagenum) {
}
使用 http_build_query 构建您的查询字符串,而不是手动执行:
http://php.net/manual/en/function.http-build-query.php
我只是将所有请求变量存储在一个数组中并根据需要更新它。准备输出任何链接时,只需使用 http_build_query 生成查询字符串
$request = $_GET;
unset($request['id']);
$request['pagenum'] = 2;
//etc
$query_string = '?' . http_build_query($request);
我有一个 HTML 表单用于搜索数据库,表单方法是 GET:
<form method="get" action="">
然后我的 SQL 查询使用 $_GET
值从数据库中选择
我运行 SQL,然后有这个函数 - (http://pastebin.com/J3RL3MxC) - 我在查询
下运行总的来说,它看起来像:
$sql="SELECT * FROM customer ORDER BY company";
$i=0;
$array = ShowRecords($sql, "customer");
foreach($array["results"] as $ret) {
}
我在 foreach 循环中回显我的结果
这工作正常,但是当浏览该函数创建的页面时,我丢失了 $_GET
值,所以我也丢失了我搜索的内容
我怎样才能保留 $_GET
值,但请记住 $_GET["pagenum"]
需要 removed/changed 以便页面会更改
我已经添加了这段代码:
$query_string = '?';
foreach($_GET as $q => $k) {
if($q == 'id' or $q == 'pagenum') {
//
} else {
if($q != '') {
$query_string = '&'.$q.'='.$k;
}
}
}
在我的函数顶部尝试执行所需的操作($_GET["id"] 也需要删除)但它不保留值
保留除指定值之外的所有 $_GET 值的最佳方法是什么?
P.S:我知道我应该使用 PDO,一旦我解决了这个问题我就会使用它,然后我将更改我的代码以使用 PDO
$id = isset($_GET["id"]) ? $_GET["id"] : NULL;
$pagenum = isset($_GET["pagenum"]) ? $_GET["pagenum"] : NULL;
if($id) {
}
if($pagenum) {
}
使用 http_build_query 构建您的查询字符串,而不是手动执行: http://php.net/manual/en/function.http-build-query.php
我只是将所有请求变量存储在一个数组中并根据需要更新它。准备输出任何链接时,只需使用 http_build_query 生成查询字符串
$request = $_GET;
unset($request['id']);
$request['pagenum'] = 2;
//etc
$query_string = '?' . http_build_query($request);