2013-11-02 2 views
0

URL을 통해 제출 된 다른 변수를 사용하여 데이터를 표시하는 PHP 페이지가 있습니다. 예 :재 제출시 하나의 URL 변수 변경

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

사용자에게 정렬 순서를 변경할 수있는 권한을 부여해야합니다.

그 때문에 나는 <select>에 새로운 re_order() 함수를 호출하여 새로운 정렬 순서를 제외한 모든 매개 변수가 그대로 유지 된 동일한 URL을 호출해야한다는 두 가지 옵션을 추가했습니다.

쉽게 수행 할 수있는 방법이 있습니까? 아니면 이전에 어떤 매개 변수가 설정되었는지 보려면 PHP 세션을 사용해야합니까?

+0

왜 이전 정렬 순서를 추적 할 필요합니까 :

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

당신은 그것을 재사용 가능한 기능을 할 수 있습니다 : 당신은 아마 이런 식으로 뭔가를 할 수

? – Jerska

답변

1

클라이언트에서 처리해야하는 작업입니다.

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');