2013-07-28 3 views
0

드롭 다운 목록 인 카테고리별로 검색해야하는 검색 양식이 있습니다. 구성원 및 카테고리라는 2 개의 테이블이 있습니다. 카테고리 테이블에는 ID와 이름의 두 필드가 있습니다 (이 Name 필드는 bank, hospital ..). members 테이블과 같은 카테고리의 이름을 저장합니다. 카테고리 테이블의 카테고리 ID와 동일한 카테고리의 ID를 가진 Category라는 필드가 있습니다 (멤버 테이블의 Category 필드는 외국 키). 여기 드롭 다운 목록이있는 양식 검색

드롭 다운 목록에 대한 코드입니다

<?php if($_GET['level']==2){ ?> 
     Category<select name="Cat" style="display:inline-block"> 
     <option></option> 
     <?php $rs=mysql_query("SELECT ID,Name FROM categories ORDER BY Name"); 
     while($rc=mysql_fetch_array($rs)){ 
      ?> 
      <option value="<?php echo $rc[ID]; ?>" 
      <? echo $_POST['Cat'];?> 
      <?php if($_POST['Cat']==$rc[ID]) 
        echo 'selected'; ?> > 
      <?php echo $rc['Name']; ?></option> 
      <?php } ?> 
      </select> 
     <?php } ?> 

나는이 코드를 이해하지 못하는 몇 가지 palces 있습니다. value="<?php echo $rc[ID]" .IT의 사용은 무엇

  1. 은 그냥 텍스트 상자 오른쪽에 입력?하지만 $의 RC [ID] 1,2,3,4,5에서하지만에 대한 값을 의미한다 무엇을 에코하도록되어 드롭 다운 목록의 값은 숫자를 표시하지 않습니다. 왜 이것을 반향합니까?
  2. $_POST['Cat']은 데이터베이스가 아니기 때문에 아무 것도 언급하지 않습니다.이 필드는 <form name="Cat">과 관련이 있습니다. 이 $_POST['Cat']$rc[ID]과 일치하는 것을 확인하기 위해 정수 여야하는 값을 가져 오는 방법은 무엇입니까?하지만 내가 입력하는 것은 특정 이름을 드롭 다운 목록에서 가져 오는 것이므로 정수 값을 얻는 방법은 무엇입니까? "echo selected"의 사용을 무엇
  3. 은? 일치가 발견 될 때이 다음 옵션 태그가됩니다 사용되는 <option selected> 그래서 목록

답변

0
  1. value=<?php echo $rc[ID]이의 상단이 값 팝 양식 제출이 값은 데이터베이스 테이블에 저장 될 때 데이터베이스에만 사용하십시오. <option value='1'>Display Value</option> 여기에서 1은 db에 저장되고 값을 표시하는 데 사용되는 표시 값은 프런트 엔드입니다.

  2. $_POST['Cat'] 바로 이것은 당신이 귀하의 경우에는 양식을 제출하는 경우에만 만 드롭 다운을 표시 [이름] #RC 작성 이이 값이 일이 어떤 데이터베이스 값을 참조하지 않습니다.

  3. echo selected의 사용은 당신의 조건에 일치하는 다음 목록 값 드롭 다운 만 처음으로 자동 을 선택한 경우.

는 UPDATE : 당신이 SELECT ID,Name FROM categories ORDER BY Name

같은 데이터베이스에서 데이터를 가져 오기 위해 사용하고 있기 때문에

<option value="<?php echo $rc[ID]; ?>이 목록 $rc[ID] 다운 선택 드롭의 포스트 값을 받고 있기 때문에 정수 값을 제공하여 값을 제공합니다 이게 도움이 될거야

+0

어떻게 $ _POST [ 'Cat']이 $ rc [ID]와 일치하는 정수 값을 얻을 수 있으며, 테이블이 없다. ** value = clarkson