URL中的多个GET同时出现?

时间:2011-02-28 15:01:49

标签: php html

我正在尝试从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

有什么办法吗? 提前谢谢!

4 个答案:

答案 0 :(得分:5)

在给定的“页面”中,您需要存储页面ID并在创建“项目”链接时使用该存储的值。

<?php
$pageID = $_GET['page'];

// ....

?>

<a href="?page=<?php echo $pageID; ?>&amp;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);

PHP http_build_query

例如:

$data = array('page'=> 34,
              'item' => 45);

echo http_build_query($data); //page=34&item=45

或包含放大器

echo http_build_query($data, '', '&amp;');  //page=34&amp;&item=45

答案 2 :(得分:3)

<a href="?page={$page->id}&amp;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

...但这需要对服务器端的内容进行相当大的改动。