我有一个 PHP 页面,它使用通过 URL 提交的不同变量显示数据。例如:
index.php?rownum=30&colnum=2&qlang=en
我需要让用户能够更改排序顺序。
为此,我添加了一个 HTML <select>
,其中有两个选项调用我的re_order()
函数,该函数基本上应该调用相同的 URL,除了新的排序顺序外,所有参数都完好无损。
是否有一种简单的方法来执行该操作,或者我应该使用 PHP 会话来查看之前设置了哪些参数?
我有一个 PHP 页面,它使用通过 URL 提交的不同变量显示数据。例如:
index.php?rownum=30&colnum=2&qlang=en
我需要让用户能够更改排序顺序。
为此,我添加了一个 HTML <select>
,其中有两个选项调用我的re_order()
函数,该函数基本上应该调用相同的 URL,除了新的排序顺序外,所有参数都完好无损。
是否有一种简单的方法来执行该操作,或者我应该使用 PHP 会话来查看之前设置了哪些参数?
这是一个应该由客户处理的任务。
您可能可以执行以下操作:
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');