尝试进行高级搜索选项,对不同选项 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/