0

URL を介して送信されたさまざまな変数を使用してデータを表示する PHP ページがあります。例えば:

index.php?rownum=30&colnum=2&qlang=en

ユーザーが並べ替え順序を変更できるようにする必要があります。

そのために<select>、関数を呼び出す 2 つのオプションを含む HTML を追加しました。re_order()この関数は、基本的に、新しい並べ替え順序を除いて、すべてのパラメーターをそのままにして同じ URL を呼び出す必要があります。

それを実行する簡単な方法はありますか、または PHP セッションを使用して以前に設定されたパラメータを確認する必要がありますか?

4

1 に答える 1

1

これは、クライアントが処理する必要があるタスクです。

おそらく次のようなことができます:

location.search = location.search.replace(/([&?]sort)(?:=[^&]*)?(?=&|$)/i, '$1=newvalue');

再利用可能な関数にすることができます:

function setUrlParam(searchString, param, value) {
    var rx = new RegExp('([&?]' + param + ')(?:=[^&]*)?(?=&|$)', 'i'),
        encodedVal = encodeURIComponent(value);

    return rx.test(searchString)?
        searchString.replace(rx, '$1=' + encodedVal) :
        searchString += '&' + param + '=' + encodedVal;
}


location.search = setUrlParam(location.search, 'sort', 'date');
于 2013-11-02T14:18:57.897 に答える