2012-06-04 3 views
0

다른 드롭 다운 상자에서 선택한 항목을 기반으로 드롭 다운 상자를 채우려고합니다. 저는 여기에 PHP 코드가 무엇을 : 내 쿼리를 실행하면php, mqsql 및 ajax를 사용하는 다른 드롭 다운 상자를 기반으로 드롭 다운 상자 채우기

<form id="inventory" method="POST" action=""> 
    <fieldset> 
     <label for="area" >Select Shelf Area</label> 
     <select id="area" name="area"> 
      <option value=""></option> 

      <?php $area = $conn->query(" 
      select substring_index(location, ' ', 1) as area 
      FROM location GROUP BY substring_index(location, ' ', 1)"); 

      while ($row = $area->fetch_assoc()) { 
       echo '<option value="' . $row['area'] . '" >' . $row['area'] . '</option>'; 
      } 
      > 
     </select><br/> 
    </fieldset> 
</form>  

, 모든 괜찮지 만, 나는이 결과를 가지고 다운 상자 다른 드롭합니다 (< '값에서를 채우는 데 사용합니다 이전 드롭 다운 '>) 여기에 :

echo "<label for='location' id='label'>Select location:</label>"; 
echo "<select id='location' name='location'>"; 
echo "<option value=''>--Select Location--</option>"; 
$query = "SELECT location_id, location FROM location 
    WHERE location LIKE '<value from previous drop down box>' 
    ORDER BY location"; 
$result = $conn->query($query); 
while ($row = $result->fetch_assoc()) { 
    echo '<option value="' . $row['location'] . '" >' . $row['location'] . '</option>'; 
}         

어떤 생각? 감사합니다 짐

답변

0

이 내가 자바 스크립트아약스를 사용하여 내 문제를 해결하는 방법입니다!

0

잘못된 방법으로 SUBSTRING_INDEX 함수를 사용 중일 수 있습니다.

첫 번째로 SELECT에 출력이 없거나 빈 행이있을 수 있습니다.

website에 따르면 -

SUBSTRING_INDEX

는 구분 DELIM의 카운트 발생하기 전에 문자열 STR에서 문자열을 반환 (STR, DELIM, 계산). count가 양수이면 최종 분리 문자 (왼쪽에서부터 계산)의 왼쪽에있는 모든 항목이 반환됩니다. count가 음수이면 최종 구분 기호 (오른쪽에서 으로 계산)의 오른쪽에있는 모든 항목이 반환됩니다. SUBSTRING_INDEX()는 delim을 검색 할 때 대/소문자 구분 일치를 수행합니다. 완벽하게

echo"<label for='location' id='label'>Select location:</label>"; 
echo"<select id='location' name='location'>"; 
echo"</select><br />"; 

작품 : 내 HTML에

$("#area").change (function(){ 
    $("#acctRecords tbody tr").remove(); 
    $('#label').show(); 
    $('#label2').show(); 
    $('#location').show(); 
    $('#section').show(); 

    $.ajax({ 
     type: "POST", 
     async: true, 
     url: "area.php", 
     dataType:"json", 
     data: ({area: $('#area').val()}), 
     success: function(data) { 
      $('select#location').empty(); 
      $('select#location').append('<option value="0">Select Option</option>'); 

      //Populate options of the second dropdown 
      for(var x = 0; x < data.id.length; x++) { 
       $('select#location').append('<option value="'+data.id[x]+'">'+data.location[x]+'</option>'); 
      } //end of each function 

     } // end of success 
    }); // end of ajax call 
}); // end of area change function 

이 게시물 :

+0

첫 번째 선택에서 결과를 완벽하게 얻고 있지만 두 번째 드롭 다운 상자를 채우는 쿼리의 결과를 사용해야합니다. – Jim

관련 문제