- 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/
'course > 지식인' 카테고리의 다른 글
[자바스크립트] selectbox 시간선택 submit (0) | 2015.11.06 |
---|---|
[자바스크립트] 재귀호출로 간단한 구구단 구하기. (0) | 2015.11.06 |
[자바스크립트] selectbox를 배열이나 동적으로 생성시키지 않고 하드코딩으로 반,번호 선택 처리. (0) | 2015.10.27 |