2014-07-21 11 views
-2

MySQL 데이터베이스에 인벤토리 목록이 저장되어 있습니다. 주식 변경 사항을 업데이트하는 사용자 입력이있는 양식이 있습니다. 항목의 전체가 드롭 다운 인 항목 이름 열이있는 테이블과 (현재) 빈 # In Stock 열이 있습니다.동적 드롭 다운에서 동적 컨텐츠를 표시합니다.

<table id="updateStockTable"> 
     <thead> 
      <tr> 
       <th>Item Name</th> 
       <th># In Stock</th> 
      </tr> 
     </thead> 
     <tbody> 
      <tr> 
       <td> 
        <select required> 
         <option></option> 
         <?php 
         $query = mysqli_query($db, "SELECT itemName FROM SOISInventoryList ORDER BY itemName"); 

         if(!$query){ 
          echo "Could not grab query."; 
         } 

         else{ 
          while($row = mysqli_fetch_assoc($query)){ 
           echo "<option>" . $row['itemName'] . "</option>"; 
          }         
         } 
         ?> 
        </select> 
       </td> 
       <td> 
        - 
       </td> 
      </tr> 
     </tbody> 
    </table> 

항목 이름 드롭 다운 목록 데이터베이스를 통해 생성됩니다 여기

내 테이블에 대한 코드입니다. 사용자가 드롭 다운에서 항목을 선택할 때마다 해당 항목의 번호가 # In Stock column의 div에 표시되도록하고 싶습니다.

내 문제는 다음과 같습니다. 데이터베이스를 통해 Item Name 드롭 다운 목록이 생성되므로 현재 값이없는 항목이 없으므로 드롭 다운 선택에서 원하는 항목을 찾을 수있는 가장 쉬운 방법입니다. div. AJAX를 사용하는 것이 가능한 또 다른 해결책 인 것처럼 보이지만, 재고 목록을 위해 AJAX를 사용하는 방법에 대해서는 확신하지 못합니다.

이러한 아이디어 중 하나가 적절하거나 최선의 해결책인지 잘 모르겠다면 그 중 하나를 사용하는 방법에 대해 알고 싶습니다.

은 편집 :

그래서 나는 AJAX 방식으로하기로 결정했습니다. 별도의 PHP 파일을 설정하여 데이터베이스에서 숫자를 단순히 반환하고 이제는 주 페이지에 필요한 번호를 가져 오기 위해 사용하려고 시도하고 있습니다. 나는 각각의 새로운 가치를 발생시키고 AJAX 요청을 사용하기 위해 change 이벤트를 사용해야한다고 말했지만, 어떻게 해야할지 모르며 누구나 제공 할 수있는 도움에 감사 할 것입니다!

답변

1

그래서 여기에 내가 해낸 해결책 :

I 설정 현재 선택한 드롭 다운 항목을 잡고 MySQL 데이터베이스에서 주식 가치에 해당 번호를 검색하는 쿼리와 별도의 PHP 파일 :

$receivedString = null; 

if ($_GET["item"] != ""){ 
    $receivedString = $_GET["item"]; 
} 

if($receivedString != null){ 
    //Check connection 
    $db = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME) OR die ('Could not connect to SOIS MySQL server with error: ' . mysqli_connect_error()); 

    $query = mysqli_query($db, "SELECT numInStock FROM SOISInventoryList WHERE id = $receivedString"); 

    if (!$query){ 
     echo "Could not find query."; 
    } 

    while($row = mysqli_fetch_assoc($query)){ 
     echo $row['numInStock']; 
    } 
} 

그리고 나서 jQuery의 .change() 함수를 사용했기 때문에 드롭 다운 항목이 변경되면 별도의 PHP 파일을 호출 할 수있게되었습니다.

$(function(){ 
$('#itemNameDropDown').change(function(){ 
    var SelectedItem = $(this).val(); 
    //Sending the selected item value to the php file as JSON 
    //Assuming that the php file is setup to consume $_GET variables 
    $.get('grab-num-in-stock.php', {"item": SelectedItem}) 
    .done(function(returnedData){ 
    //Assuming just a string is returned right now 
     $('.numInStockCol').text(returnedData); 
    }); 
}); 

});