https://dev-eunse.tistory.com/170
해당 작업 이어서 상세 버튼 클릭 -> 포인트,상품구매리스트도 출력하기 (points,mall_product 테이블)
⚡ 상세 table에 포인트 추가
<% String idx = request.getParameter("idx"); String sql = "select * from mall_member where midx=?"; PreparedStatement ps = dbcon.prepareStatement(sql); ps.setString(1,idx); ResultSet rs = ps.executeQuery(); rs.next(); //point 테이블을 select하여 해당 id에 맞는 포인트 합계 출력하는 mysql문법 String sql2 = "select sum(mall_point) as total from points where mall_id=?"; ps = dbcon.prepareStatement(sql2); ps.setString(1, rs.getString("mall_id")); ResultSet rs2 = ps.executeQuery(); rs2 = ps.executeQuery(); rs2.next(); %> ~생략 <tr> <td>포인트(적립금)</td> //<td><%= rs2.getString("total") %></td> //이렇게해도되고 <td> //이렇게하면 ,찍힌 값 출력 <% DecimalFormat df = new DecimalFormat("###,###"); out.print(df.format(rs2.getInt("total"))); %> </td> <tr>
DecimalFormat : , 찍는 라이브러리
=> 실무에선 join or view를 사용한다 ! 이렇게하면 막코드👎
🔽 이걸 join으로 한다면?
sql 문법 :
select a.*,sum(b.mall_point) as total from mall_member as a join points as b where a.midx='7' and a.mall_id=b.mall_id group by b.mall_id;
join시 어떤 table의 colomn인지 명세를 꼭 해줘야함 (*도)
group by : 같은 그룹끼리 묶어라
⚡ join방식으로 point 출력
<% String idx = request.getParameter("idx"); String sql = "select a.*,sum(b.mall_point) as total from mall_member as a join points as b where a.midx=? and a.mall_id=b.mall_id group by b.mall_id"; PreparedStatement ps = dbcon.prepareStatement(sql); ps.setString(1,idx); ResultSet rs = ps.executeQuery(); rs.next(); %> ~생략 <td> <% DecimalFormat df = new DecimalFormat("###,###"); out.print(df.format(rs.getInt("total"))); %> </td>
🔽 view table 방식으로 한다면?
cmd로 view table을 사전에 만들고 작업하는 방식!
⚡ view 방식으로 point 출력
create view member_info as (select a.*,sum(b.mall_point) as total from mall_member as a join points as b where a.mall_id=b.mall_id group by b.mall_id);
이걸로 cmd로 view table 생성하고
String sql = "select * from member_info where midx=?";
나머진 위와 동일
🔽 🔽 상품 구매내역도 추가
⚡ 타이틀
//상품 구매내역 추가 String sql3 = "select * from pays where mall_id=?"; ps = dbcon.prepareStatement(sql3); ps.setString(1,rs.getString("mall_id")); ResultSet rs3 = ps.executeQuery(); //~ 생략 <tr> <td>상품구매 리스트</td> <td> <ul style="list-style:none; padding : 0; margin : 0"> <% while(rs3.next()){ %> <li style="border-bottom : 1px solid black"> 구매 코드 : <%=rs3.getString("pcode") %> <br> 결제 금액 : <%=rs3.getString("pay_money") %> <br> 결제 일시 : <%=rs3.getString("pay_date") %> </li> <% } %> </ul> </td> <tr>
'CLASS > JSP' 카테고리의 다른 글
#3-3 / 2예제 paging 기능 추가 (0) | 2024.06.26 |
---|---|
#3-2 / 2예제 고객정보 수정페이지(update) (0) | 2024.06.26 |
#2-1 / jsp include , 수신여부에 따른 회원정보 리스트 출력 , node추가 (0) | 2024.06.25 |
#1-2 / database jsp로 연결 (0) | 2024.06.24 |
#1-1 / 🌺 JSP 기초 (0) | 2024.06.24 |