본문으로 바로가기
반응형
이제 시작하는 쌩초보라 다이어리 형식이오니 필요에 의해서 지나가다 보시고 잘못된게 있으면 지적바랍니다 ===================================================================================

 

옵션박스를 이용한 데이터 조회 jsp 페이지를 작성중

다른 옵션박스들은 값이 고정되어 있어서 간단하게 끝낼 수 있다

예를들면 아래처럼

 

<select name="fruit" size="1">
     <option value="" selected></option>
     <option value="선착"> 사과 </option>
     <option value="후착"> 바나나</option>
</select>

 

이렇게 되면

 

사과

바나나 

 

이렇게 선택할 수 있는 옵션박스가 생성이된다

 

스크린샷이 금지되어 그림을 올릴 수가 없다 ㅠㅠ

 

하지만, 옵션박스에 들어가야 할 옵션이 수십개가된다면?

다 쳐서 넣으면 된다

굳이 어렵게 할 필요가 있겠나

하지만 여기서 잠깐,

옵션박스 안의 옵션들이 변경될 경우에는?

DB와 연동해서 작업을 하다보면 값들이 변하기 마련이다

또한, 계속해서 추가가 되기때문에..

옵션박스 또한 DB연동이 필요하다

그래서 검색한 결과!

옵션박스의 옵션밸류들도 DB에서 가져올 수 있단다 ㅋㅋㅋ

신기했다

 

방법은 그냥 옵션밸류 OPTION VALUE 부분에 쿼리를 집어 넣으면 된다

아래처럼

 

 

================================================================

 <select name="CPinfo" size="1">
     <option value="" selected></option>
     <%
      // db에서 정보 얻어와 테이블에 출력하기
      Connection con = null;
      PreparedStatement pstmt = null;
      ResultSet rs = null;
      try {
       con = DBConnection.getCon();
       String sql = "SELECT 칼럼명 FROM 테이블명 GROUP BY칼럼명 ORDER BY 칼럼명";


       pstmt = con.prepareStatement(sql);
       rs = pstmt.executeQuery();
       while (rs.next()) {
        String BMT_CP = rs.getString("BMT_CP");
     %>

     <option value=<%=칼럼명%>><%=칼럼명%></option>
     <%
      }
      } catch (SQLException se) {
       System.out.println(se.getMessage());
      } finally {
       try {
        if (rs != null)
         rs.close();
        if (pstmt != null)
         pstmt.close();
        if (con != null)
         con.close();
       } catch (SQLException se) {
        System.out.println(se.getMessage());
       }

      }
     %>
 </select>

================================================================

 

칼럼명으로 그룹 및 오더바이 해주는 이유는?

옵션밸류 값들은 값당 1개씩만 필요하기 때문이다 당연히

 

와...정말

해결하기 전에는 "이걸 어떻게 해야 하지?" "이게 되나?" "어떤 방법이 있을까?"

수십가지의 의문도 더 들었지만,

이게 옳은 방법인지는 몰라도,

일단 옵션박스에 DB값이 표출이 되고 나니

 

이건 정말 신세계이고, 내가 그동안 왜이렇게 살았나 자괴감이 들면서 뿌듯했다

 

와............

내가 꿈꾸던 일이 현실이 되는건가

 

오늘도 하나하나 배워간다

그게 정답이든 아니든

 

세상에 정답은 없다

다만 코딩을 좀 간략하게 하는 법은 배워야겠다

 

반응형