我正在尝试从URL中获取变量,但每次URL已经有查询时,它都会被下一个查询覆盖。例: 我有一个链接;
<a href="?page=34">Page 34</a>
当您点击该链接时,此链接将变为可见;
<a href="?item=45">Item 45</a>
但是当我点击该链接时,另一个被覆盖,因此URL看起来像;
www.domainname.ext /?item45
但我希望它看起来像;
?www.domainname.ext /页= 34&安培; item45
有什么办法吗? 提前谢谢!
答案 0 :(得分:5)
在给定的“页面”中,您需要存储页面ID并在创建“项目”链接时使用该存储的值。
<?php
$pageID = $_GET['page'];
// ....
?>
<a href="?page=<?php echo $pageID; ?>&item=45" title="Item 45">Item 45</a>
答案 1 :(得分:5)
您还可以http_build_query();
向您的网址添加更多参数
$params = $_GET;
$params["item"] = 45;
$new_query_string = http_build_query($params);
例如:
$data = array('page'=> 34,
'item' => 45);
echo http_build_query($data); //page=34&item=45
或包含放大器
echo http_build_query($data, '', '&'); //page=34&&item=45
答案 2 :(得分:3)
<a href="?page={$page->id}&item={$item->id}">
Page {$page->id}, Item {$item->id}
</a>
答案 3 :(得分:2)
输出链接时,您必须包含相关查询字符串参数的所有;没有自动“合并”。
如果您可以将服务器端内容更改为使用RESTful URLs,则可能会出现此类行为。例如,从
开始http://www.domainname.ext
此链接
<a href='page34'>Page 34</a>
会带你去
http://www.domainname.ext/page34
之后这个链接
<a href='item43'>Item 43</a>
会带你去
http://www.domainname.ext/page34/item43
...但这需要对服务器端的内容进行相当大的改动。