- SCRIPT

<SCRIPT type=text/javascript>
   $(document).ready(function() {
   $("#reservE").append("<option value=''>시간선택(종료)</option>");

$('#reservS').change(function(){

var rstart = $("#reservS").val();
var rsSi = parseInt(rstart.substring(0,2));
var rsBun = rstart.substring(2,4);

if(rstart != ''){
    $("#reservE option").each(function() {
        $(this).remove();
    });
    $("#reservE").append("<option value=''>시간선택(종료)</option>");


 

for(var i=0; i<8; i++){
    if(rsBun == 30){
        rsSi = rsSi + 1;
        rsBun = "00";
    }else if(rsBun == 00){
        rsBun = "30";
    }

if(rsSi > 9){
    $("#reservE").append("<option value='"+ rsSi + rsBun + "'>"+ rsSi + ":" + rsBun + "</option>");
} else {
    $("#reservE").append("<option value='0"+ rsSi + rsBun + "'>0"+ rsSi + ":" + rsBun + "</option>");
}

}

}else{
    $("#reservE option").each(function() {
        $(this).remove();
    });
    $("#reservE").append("<option value=''>시간선택(종료)</option>");
}

});

});

function selectReservEnd(){
    var rs = $("#reservS").val();
    var re = $("#reservE").val();

$.ajax({
    type:"POST",
    url:"",
    dataType:"json",
    data:{ reservS:rs, reservE:re },
    success:function(data){
        if(data == "true"){
            $("#form").submit();  
        }else{
            alert("중복된 예약이 있습니다.");
        }
    }
});    

}

 

</SCRIPT>

 

- HTML

<body>
    <FORM method=post name=form>
        예약시간 :
        <P></P>
        - 예약 시작 시간 :
        <SELECT onchange=selectReservStart(this.value) id=reservS name=reservS>

<OPTION selected value="">시간선택(시작)</OPTION>

<OPTION value=0600>06:00</OPTION>

<OPTION value=0630>06:30</OPTION>

<OPTION value=0700>07:00</OPTION>

<OPTION value=0730>07:30</OPTION>

<OPTION value=0800>08:00</OPTION>

<OPTION value=0830>08:30</OPTION>

<OPTION value=0900>09:00</OPTION>

</SELECT>
<br /><P></P>
- 예약 종료 시간 :
<SELECT onchange=selectReservEnd(this.value) id=reservE name=reservE></SELECT>

</FORM>

<body>

 

 

- CLASS

package test001;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException; 

import java.io.*; 

import javax.servlet.http.*; 

 

class test001 {

HttpServletRequest req = null;     

String sid = req.getParameter("sid"); // 세션등에서 아이디 받아옴.     

 

String reservS = req.getParameter("reservS");     

String reservE = req.getParameter("reservE");     

String url = "";     

String id = "";     

String pwd = "";     

String sql = "";     

 

Connection conn = null;     

PreparedStatement ps = null;     

ResultSet rs = null;     

 

// 예약 여부 확인     

public boolean checkReserv() throws IOException, SQLException {

boolean bol = true;        

int numRow = 0;        

 

try{

Class.forName("oracle.jdbc.driver.OracleDriver");

url = "jdbc:oracle:thin:@host:port:SID";           

id = "아이디";           

pwd = "패스워드";           

sql = "select * from reservtime where reservS > to_number(" + reservS + ") and reservE < to_number(" + reservE + ") + " and id = " + sid;           

conn = DriverManager.getConnection(url, id, pwd);           

ps = conn.prepareStatement(sql);           

rs = ps.executeQuery();           

rs.last();           

numRow = rs.getRow();           

 

if(numRow != 0){               

bol = false;           

}           

}catch (SQLException | ClassNotFoundException e){

// 데이터베이스 연동시 에러가 발생되면 샐행 됨.          

e.printStackTrace();           

}finally{            

if(conn != null){              

rs.close();              

ps.close();              

conn.close();            

}        

}

        

return bol;  // 예약여부를 리턴합니다.     

}

     

// 예약 시간 접수     

public void insertReserv() throws IOException, SQLException {

    try{

       Class.forName("oracle.jdbc.driver.OracleDriver");

       url = "jdbc:oracle:thin:@host:port:SID";           

id = "아이디";           

pwd = "패스워드";           

sql = "insert into(reservS,reservE,sid) values("+reservS+","+reservE+","+sid+")";   

        

conn = DriverManager.getConnection(url, id, pwd);           

ps = conn.prepareStatement(sql);           

ps.executeUpdate();           

}catch (SQLException | ClassNotFoundException e){

e.printStackTrace();           

}finally{            

if(conn != null){              

ps.close();

conn.close();            

}        

}     

}

 

 


실행 : http://jsfiddle.net/ab2wogj9/7/