PHP URL GET 参数,如果存在,是否替换?

标签 php url get

尝试进行高级搜索选项,对不同选项 ASC 或 DESC 进行排序。

示例网址:

search.php?accom_type=x&no_rooms=x&rooms_total=x&prop_area=x&rent_less=&rent_more=&available=&go=搜索&sd=a

突出显示的粗体是 &sd(排序方向)选项。先前的变量通过已填写的表单传递。

现在我有这样的链接..

<a href="<?=$_SERVER['REQUEST_URI']?>&sd=a">ASC</a>|<a href="<?=$_SERVER['REQUEST_URI']?>&sd=d">DESC</a>

这显然是错误的,因为我使用的是 REQUEST_URI - 因为如果一个人在最初设置后发生变化,URL 将是:

&sd=a&sd=d

我确定我以前遇到过这个问题,但想不起来我是如何解决它的。

如何检查 GET 是否已设置(例如 sd),如果已设置,则更改它,否则,将其添加到 URL 的末尾,以生成如上所示的链接。

编辑:也许屏幕截图有助于理解: http://dl.dropbox.com/u/10591127/Capture.PNG

干杯, 马特

最佳答案

您可以使用 $_GET 超全局变量来获取每个单独的 get 变量。如果你把它放在一个数组中,你可以通过再次设置它来覆盖任何值:

$params = $_GET;
$params['sd'] = "whateveryoulike";
$paramString = http_build_query($params);

关于PHP URL GET 参数,如果存在,是否替换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4908678/

相关文章:

php - 在 PHP 中搜索名称

bash - 如何使用linux命令获取部分路径

php - 将内容替换为 SQL 查询的获取参数

php - 表单中多个提交按钮

php - PDO异常 : SQLSTATE[28000] [1045] Access denied for user

java - 如何最佳地检查 URL 有效性

java - 如何在不使用 url 参数的情况下将参数传递到新选项卡

iPhone SDK : NSURL string errors/% sign confrontation

ruby - 修复 416 错误 : HTTParty

php - 如何使用外键信息打印表?