2014-07-23 3 views
0

mysqli 쿼리의 결과를 표시하는 PHP 페이지가 있습니다.GET으로 URL에 여러 변수를 전달하는 방법

맨 위에 나는 선택기로 항상 #perpage와 order를 가지고있어 사용자가 원하는 것을 선택할 수 있습니다.

<form action="" method="GET"> 
<select name="perpage" onchange="this.form.submit()"> 
<?php 
           if (isset($_GET['perpage'])) {print"<option value='".$_GET['perpage']."'>".$_GET['perpage']."</option>";} 
           if (isset($_GET['perpage']) && $_GET['perpage']==10) {} else {print"<option value='10'>10</option>";} 
           if (isset($_GET['perpage']) && $_GET['perpage']==20) {} else {print"<option value='20'>20</option>";} 
           if (isset($_GET['perpage']) && $_GET['perpage']==30) {} else {print"<option value='30'>30</option>";} 
           ?> 
</select> 
</form> 

과 ORDERBY이 하나

<form action="" method=""> 
<select name="order" onchange="this.form.submit()"> 
<option value="asc">Ascending</option> 
<option value="desc">Descending</option> 
</select> 
</form> 

내 현재의 URL이 results.php? perpage = 30이고 나는 시도하고 results.php? ORDERBY = 내림차순 bcomes에 의해 순서를 설정하는 경우와 그 반대의 경우도 마찬가지입니다. URL이 이미 설정되어있는 경우 두 번째 변수를 URL의 끝에 추가하기 만하면됩니다.

$ _SERVER [ 'HTTP_HOST']을 (를) 사용하여 현재 URL로 작업을 설정하려고 시도했습니다. $ _ SERVER [ 'REQUEST_URI']와 동일한 작업을 수행합니다.

+0

[이 질문]의 허용 대답을 [1] 유용 할 수 있습니다 당신에게 (가능한 속는 사람). $ _SERVER [ 'QUERY_STRING']처럼 보이는 superglobal이 당신이 찾고있는 것입니다. [1] : http://stackoverflow.com/questions/4856480/how-to-work-with-serverquery-string – mppfiles

+0

@ThomasAndrews 질문에 하나씩 주문을 추가했습니다 – user3404390

답변

0

그것은 나를 위해 일 ... index.php 파일에 넣고

수행합니다

<?php print_r($_GET); ?> 

<form action="" method="GET"> 
    <select name="perpage" onchange="this.form.submit()"> 
     <?php 
     if (isset($_GET['perpage'])) { print "<option value='".$_GET['perpage']."'>".$_GET['perpage']."</option>"; } 
     if (isset($_GET['perpage']) && $_GET['perpage']==10) {} else { print "<option value='10'>10</option>"; } 
     if (isset($_GET['perpage']) && $_GET['perpage']==20) {} else { print "<option value='20'>20</option>"; } 
     if (isset($_GET['perpage']) && $_GET['perpage']==30) {} else { print "<option value='30'>30</option>"; } 
     ?> 
    </select> 
</form> 

전화 브라우저에서 같은 페이지 : http://localhost/index.php?perpage=20

+0

그 중 하나가 작동합니다. 미안 나는 다른 것을 포함하지 않았다. 문제는 하나의 var이 설정되어 있고 다른 하나를 변경하려고 시도했을 때입니다. – user3404390

0

가에 ORDERBY를 넣어 기타 예 :

<form action="process-form.php" method="GET"> 
    <select name="orderby"> 
     <option value="ASC">ASC</option> 
     <option value="DESC">DESC</option> 
    </select> 
    <select name="perpage" onchange="this.form.submit()"> 
     <?php 
      if (isset($_GET['perpage'])) { 
       print"<option value='".$_GET['perpage']."'>".$_GET['perpage']."</option>"; 
      } 

      if (isset($_GET['perpage']) && $_GET['perpage']==10) {} 

      else { 
       print"<option value='10'>10</option>"; 
      } 

      if (isset($_GET['perpage']) && $_GET['perpage']==20) {} else { 
       print"<option value='20'>20</option>"; 
      } 

      if (isset($_GET['perpage']) && $_GET['perpage']==30) {} else { 
       print"<option value='30'>30</option>"; 
      } 
     ?> 
    </select> 
</form> 

그리고 제출할 때 양식을 보내드립니다. 두 개의 매개 변수.

PHP 파일에서

"프로세스 form.php는"이 같은 매개 변수를 얻을 수 있습니다 :

$_GET["orderby"] 

$_GET["perpage"] 
+0

다른 포스터 제안에 따라이 작업을 수행했지만 현재는 하나뿐 아니라 둘 다 설정할 수 있습니다. – user3404390

+0

필드의 변경 값에 양식을 제출해야합니까? –

관련 문제