2012-01-08 3 views
0

분류 된 광고 사이트에 대한 사용자 데이터베이스 쿼리의 결과를 표시하는 PHP 페이지가 있습니다. 사용자가 홈페이지에서 검색을 시작하고 선택 상자를 사용하여 검색 매개 변수를 선택한 다음 양식이 제출됩니다.결과 페이지에 검색 기능 수정을 추가하는 방법

결과 페이지에 올라온 후에는 사용자가 페이지 측면의 선택 상자 (홈페이지의 것과 동일한 상자)를 사용하여 검색 매개 변수를 수정할 수 있도록해야합니다. 각 선택 상자에서 선택한 옵션을 첫 번째 페이지에서 선택한 것과 일치 시키려면 어떻게해야합니까? 즉, 사용자가 make : Audi 및 Model : A8을 선택한 경우 make 및 모델에 대한 드롭 다운을 사용하여 다른 모든 옵션을 나열하지만 Make가 Audi로 사전 선택되고 모델이 A8로 사전 선택됩니다.

select 문에서 옵션 상자에 대해 선택한 옵션을 사용하는 것에 대해 알고 있지만 이미 결과 페이지에 대해 코딩 된 select 문을 취하여 먼저 선택해야하는 옵션에 대해 선택한 변수를 삽입하는 방법은 무엇입니까?

나는 그것이 의미가 있기를 바랍니다. 코드 문제를 해결하는 데 도움이되기보다는 아이디어를 찾고 있기 때문에 코드를 게시하지 않았습니다.

답변

0

사용자가 검색 양식을 제출하면 양식에 게시 된 모든 변수를 $ _POST 또는 $ _GET을 통해 사용할 수 있습니다. 이 변수를 사용하여 결과 페이지의 검색 양식에서 올바른 정보를 다시 선택하십시오.

<select name="model"> 
    <option value="a8" <?php echo (isset($_POST['model']) && $_POST['model'] == 'a8') ? 'selected' : ''; ?>>A8</option> 
</select> 

편집

동적 데이터베이스 방법 :

<select name="model"> 
<?php 
$getRows = mysql_query("SELECT * FROM models"); 
while($row = mysql_fetch_assoc($getRows)) 
{ 
    echo '<option value="" ' . ((isset($_GET['model']) && $_GET['model'] == $row['model']) ? 'selected' : '') . '></option>'; 
} 
?> 
</select> 

이제 하나의 if 문이 필요합니다. 을 사용하여 GET 매개 변수을 사용하면 나중에 사용할 수 있도록 결과를 북마크에 추가 할 수 있습니다.

+0

답장을 보내 주셔서 감사합니다. 각 옵션에 대한 명령문을 실행하면 페이지 로딩 시간에 어떤 영향을 미칩니 까? 전체에 약 12 ​​개의 선택 상자가 있으며 각각에 약 20 개의 옵션이 있습니다. – MaxK

+0

이 짧은 목록을 반복해도 클라이언트 사용자의로드 시간에는 영향을 미치지 않지만 코드는 모든 if 문과 매우 유사합니다. – Marle1

+0

귀하의 경우 데이터베이스에서 목록을 가져 오는 것을 고려하면 코드가 상당히 단순해질 수 있습니다. 내 대답을 편집하여 예제를 보여줍니다. – Marle1

관련 문제