フォームまたは URL のどちらにいるかによって異なります。
フォームにいる場合は、ユーザーが変更したい入力フィールドを変更し、他のフィールドはそこにとどまるため、簡単です。
<form>
<input type="p" value="1" />
<input type="c" value="1" />
<input type="s" value="100" />
<input type="submit" />
</form>
URL ベースの方法の問題は、次のようにそれぞれの 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>
すべてのリンクを入力するのは大変です。次のように、1 つの値の変更を処理する 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>