λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
μ‹œλ„/ꡭ비지원

[D+78] κ³Όμ •ν‰κ°€ν˜• μ •λ³΄μ²˜λ¦¬μ‚°μ—…κΈ°μ‚¬ : νšŒμ›μˆ˜μ •ν™”λ©΄(modify.jsp) κ΅¬ν˜„

by πŸ‡λ°•λ΄‰λ΄‰πŸ‡ 2023. 1. 10.

 

 

ꡭ비지원 D+78

κ³Όμ •ν‰κ°€ν˜• μ •λ³΄μ²˜λ¦¬μ‚°μ—…κΈ°μ‚¬

- νšŒμ›μˆ˜μ •ν™”λ©΄(modify.jsp) κ΅¬ν˜„ -

 


 

νšŒμ›μˆ˜μ •ν™”λ©΄(modify.jsp) κ΅¬ν˜„

νšŒμ›μˆ˜μ •ν™”λ©΄μ€ 사싀상 νšŒμ›λ“±λ‘(register.jsp)κ³Ό 거의 μΌμΉ˜ν•˜λ‹€.

단, νšŒμ›μˆ˜μ •ν™”λ©΄μ€ ν΄λ¦­ν•œ νšŒμ›μ˜ 정보λ₯Ό λΆˆλŸ¬μ™€ textbox에 값을 λ„£μ–΄μ£Όμ–΄μ•Όν•œλ‹€λŠ” 것이닀.

 

• modify.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    
<%@ page import="java.sql.Connection" %>
<%@ page import="java.sql.Statement" %>
<%@ page import="java.sql.ResultSet" %>
<%@ page import="java.util.Date" %>

<%@ page import="DBPKG.DBConnection" %>

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>ν™ˆμ‡Όν•‘ νšŒμ› μˆ˜μ •</title>
<link rel="stylesheet" href="main.css">
</head>
<body>
	<header>
		<div>
			<h2>μ‡Όν•‘λͺ° νšŒμ›κ΄€λ¦¬ ver 1.0</h2>
		</div>
	</header>
	
	<nav>
		<div>
			<a href="register.jsp">νšŒμ›λ“±λ‘</a>
			<a href="inquiry.jsp">νšŒμ›λͺ©λ‘μ‘°νšŒ/μˆ˜μ •</a>
			<a href="sale.jsp">νšŒμ›λ§€μΆœμ‘°νšŒ</a>
			<a href="index.jsp">ν™ˆμœΌλ‘œ</a>
		</div>
	</nav>
	
	<section>
		<div>
			<h3>ν™ˆμ‡Όν•‘ νšŒμ› 정보 μˆ˜μ •</h3>
			
<%
Connection conn = null;
Statement stmt = null;
ResultSet rset = null;

request.setCharacterEncoding("UTF-8");

String custno = request.getParameter("custno");
String custname = "";
String phone = "";
String address = "";
Date joindate = null;
String grade = "";
String city = "";

String sql = "select * from member_tbl_02 where custno=" + custno;

try
{
	conn = DBConnection.getConnection();
	stmt = conn.createStatement();
	rset = stmt.executeQuery(sql);
	
	while(rset.next())
	{
		custname = rset.getString("custname");
		phone = rset.getString("phone");
		address = rset.getString("address");
		joindate = rset.getDate("joindate");
		grade = rset.getString("grade");
		city = rset.getString("city");
	}
	
	rset.close();
	stmt.close();
	conn.close();
}

catch(Exception e)
{
	System.out.println("[Error] " + e.getMessage());
	e.printStackTrace();
}
%>
			
			<form method="post" id="frm_modify" name="frmModify">
				<table border="1" style="width: 550px">
					<tr>
						<th>νšŒμ›λ²ˆν˜Έ</th>
						<td><input type="text" value=<%= custno %> readonly name="custno"></td>
					</tr>
					<tr>
						<th>νšŒμ›μ„±λͺ…</th>
						<td><input type="text" id="custname" name="custname" value=<%= custname %>></td>
					</tr>
					<tr>
						<th>νšŒμ›μ „ν™”</th>
						<td><input type="text" id="phone" name="phone" value=<%= phone %>></td>
					</tr>
					<tr>
						<th>νšŒμ›μ£Όμ†Œ</th>
						<td><input type="text" id="address" name="address" value="<%= address %>"></td>
					</tr>
					<tr>
						<th>κ°€μž…μΌμž</th>
						<td><input type="text" id="joindate" name="joindate" value=<%= joindate %>></td>
					</tr>
					<tr>
						<th>고객등급[A:VIP, B:일반, C:직원]</th>
						<td><input type="text" id="grade" name="grade" value=<%= grade %>></td>
					</tr>
					<tr>
						<th>λ„μ‹œμ½”λ“œ</th>
						<td><input type="text" id="city" name="city" value=<%= city %>></td>
					</tr>
				</table>
			</form>
			
			<table border="1" style="width: 550px">
				<tr>
					<td>
						<input type="button" id="btn_modify" value="μˆ˜μ •"> 
						<input type="button" id="btn_inquiry" value="쑰회">
					</td>
				</tr>
			</table>
		</div>
	</section>
	
	<footer>
		<div>
			<h4>HRDKOREA Copyright@2016 All rights reserved. Human Resources Development Service of Korea</h4>
		</div>
	</footer>
	
	<iframe name="hiddenframe" style="display: none"></iframe>
<script>
(function(){
	const btnModify = document.querySelector("#btn_modify");
	const btnInquiry = document.querySelector("#btn_inquiry");
	
	const frmModify = document.querySelector("#frm_modify");
	
	const objsArr = [
		{elem: document.querySelector("#custname"), size: 20, blankMsg: "νšŒμ›μ„±λͺ…이 μž…λ ₯λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€.", validMsg: "νšŒμ›μ„±λͺ…이 μ˜¬λ°”λ₯΄μ§€ μ•ŠμŠ΅λ‹ˆλ‹€."},
		{elem: document.querySelector("#phone"), size: 13, blankMsg: "νšŒμ›μ „ν™”κ°€ μž…λ ₯λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€.", validMsg: "νšŒμ›μ „ν™”κ°€ μ˜¬λ°”λ₯΄μ§€ μ•ŠμŠ΅λ‹ˆλ‹€."},
		{elem: document.querySelector("#address"), size: 60, blankMsg: "μ£Όμ†Œκ°€ μž…λ ₯λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€.", validMsg: "μ£Όμ†Œκ°€ μ˜¬λ°”λ₯΄μ§€ μ•ŠμŠ΅λ‹ˆλ‹€."},
		{elem: document.querySelector("#joindate"), size: 10, blankMsg: "κ°€μž…μΌμžκ°€ μž…λ ₯λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€.", validMsg: "κ°€μž…μΌμžκ°€ μ˜¬λ°”λ₯΄μ§€ μ•ŠμŠ΅λ‹ˆλ‹€."},
		{elem: document.querySelector("#grade"), size: 1, blankMsg: "고객등급이 μž…λ ₯λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€.", validMsg: "고객등급이 μ˜¬λ°”λ₯΄μ§€ μ•ŠμŠ΅λ‹ˆλ‹€."},
		{elem: document.querySelector("#city"), size: 2, blankMsg: "κ±°μ£Όλ„μ‹œκ°€ μž…λ ₯λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€.", validMsg: "κ±°μ£Όλ„μ‹œκ°€ μ˜¬λ°”λ₯΄μ§€ μ•ŠμŠ΅λ‹ˆλ‹€."}
	];
	
	const checkBlank = function()
	{
		let result = true;
		
		for(let i = 0; i < objsArr.length; i++)
		{
			if(objsArr[i].elem.value.length === 0) return i;
		}
		return result;
	}
	
	const checkValid = function()
	{
		let result = true;
		
		for(let i = 0; i < objsArr.length; i++)
		{
			if(objsArr[i].elem.value.length > objsArr[i].size) return i;
		}
		
		if(isNaN(objsArr[3].elem.value.replaceAll("-", "")) === true) return 3;
		
		if(isNaN(objsArr[4].elem.value) === false) return 4;
		
		if(isNaN(objsArr[5].elem.value) === true) return 5;
		
		return result;
	}
	
	btnModify.addEventListener("click", function()
	{
		let res = checkBlank();
		
		if(res !== true)
		{
			alert(objsArr[res].blankMsg);
			objsArr[res].elem.focus();
			return;
		}
		
		res = checkValid();
		
		if(res !== true)
		{
			alert(objsArr[res].validMsg);
			objsArr[res].elem.focus();
			return;
		}
		
		frmModify.action = "update.jsp";
		frmModify.target = "hiddenframe";
		frmModify.submit();
	});
	
	btnInquiry.addEventListener("click", function(){
		location.href = "./inquiry.jsp";
	});
})();
</script>
</body>
</html>

 

• update.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    
<%@ page import="java.sql.Connection" %>
<%@ page import="java.sql.Statement" %>

<%@ page import="DBPKG.DBConnection" %>
    
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>DB νšŒμ›μˆ˜μ •</title>
</head>
<body>
<%
Connection conn = null;
Statement stmt = null;

request.setCharacterEncoding("UTF-8");

String custno = request.getParameter("custno");
String custname = request.getParameter("custname");
String phone = request.getParameter("phone");
String address = request.getParameter("address");
String joindate = request.getParameter("joindate");
String grade = request.getParameter("grade");
String city = request.getParameter("city");

joindate = joindate.replaceAll("-", "");

String sql = "update member_tbl_02 set " + 
				"custname= '" + custname + "', " +
				"phone= '" + phone + "', " +
				"address= '" + address + "', " +
				"joindate= to_date('" + joindate + "', 'YYYYMMDD'), " +
				"grade= '" + grade + "', " +
				"city= '" + city + "' " + 
				"where custno= " + custno;

int result = 0;

try
{
	conn = DBConnection.getConnection();
	stmt = conn.createStatement();
	
	result = stmt.executeUpdate(sql);
	
	if(conn.getAutoCommit() == false) conn.commit();
	
	stmt.close();
	conn.close();
}

catch(Exception e)
{
	System.out.println("[Error] " + e.getMessage());
	e.printStackTrace();
}

finally
{
	out.println("<h1>" + result + "</h1>");
}
%>

<script>
(function(){
	const h1Elem = document.querySelector("h1");
	
	if(h1Elem.textContent === "1")
	{
		alert("νšŒμ›μˆ˜μ •μ΄ μ™„λ£Œλ˜μ—ˆμŠ΅λ‹ˆλ‹€.");	
	}
	else
	{
		alert("νšŒμ›μˆ˜μ •μ΄ μ§„ν–‰λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€.");
	}
	
	parent.location.reload();
})();
</script>
</body>
</html>

 

 

 

λ°˜μ‘ν˜•

λŒ“κΈ€