尝试执行高级搜索选项,并对不同选项ASC或DESC进行排序。
示例网址:
search.php?accom_type=x&no_rooms=x&rooms_total=x&prop_area=x&rent_less=&rent_more=&available=&go=Search
的 &sd=a
突出显示的粗体是& sd(排序方向)选项。先前的变量通过填写的表单传递。
现在我有这样的链接..
<a href="<?=$_SERVER['REQUEST_URI']?>&sd=a">ASC</a>|<a href="<?=$_SERVER['REQUEST_URI']?>&sd=d">DESC</a>
这显然是错误的,因为我正在使用REQUEST_URI
- 因为如果一个人在最初设置后发生更改,则网址将为:
&sd=a&sd=d
我确定我之前遇到过这个问题,但我不知道如何解决它。
如何检查是否已设置GET(如sd),如果已设置,则更改它,否则,将其添加到URL的末尾,以生成上面显示的链接。
编辑:也许屏幕截图有助于理解: http://dl.dropbox.com/u/10591127/Capture.PNG
干杯, 马特
答案 0 :(得分:20)
您可以使用$ _GET超全局来获取每个单独的get变量。如果将其放入数组中,则可以通过再次设置来覆盖任何值:
$params = $_GET;
$params['sd'] = "whateveryoulike";
$paramString = http_build_query($params);