<%@ page contentType="text/html;charset=utf-8" pageEncoding="UTF-8"%>
<%@ page import="java.sql.*" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="java.util.*" %>
<%
ArrayList list = (ArrayList)session.getAttribute("list");
String id = (String)session.getAttribute("id");
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/shop","root","wnsgh5");
Statement stmt = conn.createStatement();
String sql = "";
String sql2 = "";
String rnd_char ="";
int i=0;
int j=0;
int rnd_val=0;
Statement stmt2 = conn.createStatement();
Statement stmt3 = conn.createStatement();
PreparedStatement pstmt = null;
ResultSet rs = null;
ResultSet rset = null;
int rs2 = 0;
String sql3 = "";
for(i=0; i<list.size();i++){
sql = "select * from game where gnum='"+list.get(i)+"';";
rs = stmt.executeQuery(sql);
for ( j = 1; i <= 26; j++){
rnd_val = 1 + ( int ) ( Math.random() * 52 );
if (rnd_val > 26){
rnd_val = rnd_val + 70;
}else{
rnd_val = rnd_val + 64;
}
rnd_char = rnd_char + (char)(rnd_val);
}
rnd_char = rnd_char.toUpperCase();
if(rs.next())
{
sql2 = "select * from member where id='"+id+"';";
rset = stmt2.executeQuery(sql2);
if(rset.next())
{
if(rset.getInt("point") - rs.getInt("price") > 0)
{
sql3 = "update member set point = point - "+rs.getInt("price")+" where id='"+id+"'";
rs2 = stmt3.executeUpdate(sql3);
if(rs2 == 1)
{
pstmt =conn.prepareStatement("insert into deal values(?,?,?)");
pstmt.setInt(1,rs.getInt("gnum"));
pstmt.setString(2,id);
pstmt.setString(3,rnd_char);
pstmt.executeUpdate();
}
}
else
{
%>
<script>
alert("포인트가 부족합니다.");
[removed] = "baguni.jsp";
</script>
<%
}
}
}
}
%>
세션을 이용해서 장바구니를 구현했는데요.
리스트 첨자를 따라 일괄구매하는 방식으로 구현했습니다..
rnd_char는 게임 코드라서 랜덤문자열로 박았습니다.
그런데 구매하는 버튼을 누르면 페이지는 안 넘어가고 연산만 됩니다.
오늘 프로젝트 마감인데 도와주세요 ㅠㅠ
댓글 0