<%@ 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는 게임 코드라서 랜덤문자열로 박았습니다.


그런데 구매하는 버튼을 누르면 페이지는 안 넘어가고 연산만 됩니다.


오늘 프로젝트 마감인데 도와주세요 ㅠㅠ