2012-02-16 89 views
0
我有一些奇怪的問題

,請參閱以下...URL追加問題

在當前網址...

http://localhost/web/gallery/test/scs/

和下面的HTML

<a href="?srtby=relevance">Relevance</a> //on click url becomes http://localhost/web/gallery/test/scs/?srtby=relevance 
<a href="?srtby=views">Views</a> //on click url becomes http://localhost/web/gallery/test/scs/?srtby=views 



<a href="?srtbydate=today">Today</a> 

在點擊url變爲http://localhost/web/gallery/test/scs/?srtbydate=today而不是http://localhost/web/gallery/test/scs/?srtby=relevance?srtbydate=today

我不是爲什麼會發生這種情況?請建議。謝謝。

+0

你不明白爲什麼發生了什麼? – 2012-02-16 19:49:40

+3

你只能得到一個查詢字符串。因爲你指定了一個新的查詢字符串,它取代了當前活動的查詢字符串,並且不會附加到它。 – zzzzBov 2012-02-16 19:50:51

+0

''? – elclanrs 2012-02-16 19:51:33

回答

0

您正在重置查詢字符串並將其附加到當前URL。你只使用?一次,然後附加額外的變量,例如使用&,例如

?VAR1 =相關& VAR2 =意見

這使您可以通過多個PARAMS。

0

當你有一個網址的結尾的查詢,如:

http://localhost/web/gallery/test/scs/?srtby=relevance 

任何鏈接,您隨後刪除點擊或更換查詢字符串。所以點擊與

?srtby=thisotherthing 

在href鏈接將把你http://localhost/web/gallery/test/scs/?srtby=thisotherthing

這些參數的不「棧」 - 單擊將有鏈接到包括任何和所有的查詢參數爲他們出現在下面的頁面。

+0

是的,有沒有辦法做到這一點? – seoppc 2012-02-16 20:02:34

+0

您需要修改頁面中的任何URL以包含當前查詢字符串參數。 Smarty可能會提供幫助,或者您可以使用jQuery腳本修改網址。 – 2012-02-16 20:19:25

+0

你能提供任何例子嗎? – seoppc 2012-02-16 20:22:51

0

這是預期的行爲。發生了什麼是你正在用你的URL重寫查詢字符串,它不會追加,它只是取代。爲了解決這個問題,在你的代碼中,你會想通過附加或替換內容來構建你的URL。最簡單的方法是在對象外部構建查詢字符串,然後將其序列化爲查詢字符串。

更新:一個簡單的方法來做到這一點在PHP

<?php 
    $currentQuery = $_SERVER['QUERY_STRING']; 
    $url = array(); 
    parse_str($currentQuery, $url); 
    $url['srtby'] = 'views'; 
?> 
<a href="<?php echo http_build_query($url); ?>">Link</a> 

注意上面需要PHP 5

+0

你有這個問題,如果你可以發佈一個例子,這將是非常棒的。 – seoppc 2012-02-16 20:01:18