這取決於你是否在表單或URL。
如果你在一個形式是很容易的,因爲用戶改變他們想改變輸入字段和其他人呆在那裏:
<form>
<input type="p" value="1" />
<input type="c" value="1" />
<input type="s" value="100" />
<input type="submit" />
</form>
與基於URL的方法的問題是,你將不得不設置網址爲每一個這樣的:
<a href="?p=1&c=1&s=1">$1 Starting Price</a>
<a href="?p=1&c=1&s=10">$10 Starting Price</a>
<a href="?p=1&c=1&s=100">$100 Starting Price</a>
你不得不這樣做是爲了使動態:
<a href="?p=<?php echo urlencode($_GET['p']) ?>&c=<?php echo urlencode($_GET['c']) ?>&s=1">$1 Starting Price</a>
這是很多爲您的所有鏈接打字。你可以做一個PHP函數來處理不斷變化的這樣的一個值:
function genUrl($newKey, $newVal) {
$url = '?';
foreach ($_GET as $key => $val) {
if ($url != '?') {
$url .= '&';
}
$url .= urlencode($key) . '=' ($key == $newKey ? $newVal : urlencode($val));
}
return $url;
}
而且你的HTML應該是這樣的:
<a href="<?php echo genUrl('s', 1) ?>">$1 Starting Price</a>
<a href="<?php echo genUrl('s', 10) ?>">$1 Starting Price</a>
<a href="<?php echo genUrl('s', 100) ?>">$1 Starting Price</a>
十分感謝答覆傢伙!我遇到的實際問題是我的網站上有一個顯示歷史事件的頁面,這些頁面已經過去了。因爲這樣的用戶可以在頁面之間進行瀏覽,並且在排序可用時,它不是強制性的基本的網址是:'history.php?p = 1&v = 1'。但是,如果用戶激活排序,我希望排序變量獲得ADDED到URL的末尾,所以如果用戶已經在'v = 3'這表明他們經歷的歷史頁面,那麼我需要添加'sort = asc'到URI的末尾。 –