270 likes | 556 Views
웹 프로그래밍 제 4 장 내장객체 (Ii). 장안대학교 인터넷정보통신과. 게시판 구조도. 글쓰기 (write_form.html). 글보기 (write_view.jsp). 글답변. 수정. 삭제. 비밀번호입력 (mpass_form.jsp). 답변쓰기 (reply_form.jsp). 비밀번호입력 (dpass_form.jsp). 글저장 (write_save.jsp). No. No. 비밀번호확인 (mpass_ok.jsp). 확인 및 글삭제 (dpass_del.jsp). 답변글저장
E N D
웹 프로그래밍제4장 내장객체 (Ii) 장안대학교인터넷정보통신과
게시판 구조도 글쓰기 (write_form.html) 글보기 (write_view.jsp) 글답변 수정 삭제 비밀번호입력 (mpass_form.jsp) 답변쓰기 (reply_form.jsp) 비밀번호입력 (dpass_form.jsp) 글저장 (write_save.jsp) No No 비밀번호확인 (mpass_ok.jsp) 확인및 글삭제 (dpass_del.jsp) 답변글저장 (reply_save.jsp) Ok 게시판목록 게시판목록 글수정(modify_form.jsp)) 게시판목록 수정글 저장 (modify_save.jsp) 게시판목록
자유 게시판(bbs) • 새 프로젝트 생성: freebbs+ 학번 • 공지 게시판의 소스 복사 • Listbbs.jsp • write_form.html • write_save.jsp • write_view.jsp • 웹 디스크에서 9장의 소스 가져오기
글보기의 수정(write_view.jsp-259p) 글 보기 (write_view.jsp)
글삭제(비밀번호입력:dpass_form.jsp) -276p 비밀번호입력 (dpass_form.jsp)
비밀번호입력 (dpass_form.jsp) 수정후 확인: 게시판 목록보기 글보기 비밀번호입력 no 다시비밀번호 입력 (글제목 클릭)(삭제 버튼 클릭) (비밀번호입력후 확인버튼클릭)yes 에러발생
글삭제(dpass_del.jsp비밀번호확인 및 삭제)- 278p 비번확인및 글삭제 (dpass_del.jsp)
글삭제(dpass_del비밀번호확인 및 삭제)- 278p 게시판 목록보기 글보기 비밀번호입력 yes글삭제 실행 게시판목록보기 (글제목 클릭)(삭제 버튼 클릭) (비밀번호입력후 확인클릭)(보이지않음)(삭제된 글번호확인)
글수정(비밀번호입력 mpass_form.jsp)-260p 비밀번호입력 (mpass_form.jsp)
글수정(비밀번호입력 mpass_form.jsp) 비밀번호입력 (mpass_form.jsp) 수정후 확인: 게시판 목록보기(글제목 클릭) 글보기(수정 버튼 클릭) 비밀번호 확인 폼
비밀번호 확인(mpass_ok.jsp- 262p ) 비밀번호확인 (mpass_ok.jsp)
비밀번호 확인(mpass_ok.jsp- 262p ) 비밀번호확인 (mpass_ok.jsp) 수정후 확인: 게시판 목록보기 글보기 비밀번호입력 no 다시비밀번호 입력 (글제목 클릭) (수정 버튼 클릭) (비밀번호입력후 확인버튼클릭) yes 에러발생
글수정(modify_form.jsp) -263p (글쓰기+글보기) 글수정(modify_form.jsp)
게시판 목록보기 글보기 비밀번호입력 yes글수정 (글제목 클릭) (수정 버튼 클릭) (비밀번호입력후 확인버튼클릭)
수정글 저장(modify_save)-269p 수정글 저장 (modify_save.jsp)
수정글 저장 (modify_save.jsp) 게시판 목록보기 글보기 비밀번호입력 yes글수정게시판목록보기 (글제목 클릭)(수정 버튼 클릭) (비밀번호입력후(글내용수정후 수정버튼 클릭 )(수정된글확인) 확인버튼클릭)
목록페이지 나누기(Listbbs2.jsp-281p) 수정 endRow totalPage pageSize =totalRow/pageSize+1 23페이지=223행/10+1 startRow [이전] [11][12][13] [14][15] [16] [ 7][18][19][20] [다음] [1][2[3][4][5][6][7][8][9][10] [11][12][13][14][15] [16] [17][18][19][20] [21][22][23] ….. [30] blockSize=10 startPage endPage currentBlock=1 currentBlock=3 currentBlock=2 totalBlock =3
현재페이지에서 블록, 시작, 끝행연산 • Listbbs2.jsp?pageNum=16 :현재 페이지 16 , Listbbs2.jsp : 현재 페이지 1 • pageSize=10, blockSize=10인 경우 • currentPage = pageNum • startRow= (currentPage - 1) * pageSize + 1; // 시작 행번호2 page 경우= (2-1)*10 +1 = 11 • endRow= currentPage * pageSize; // 끝행번호계산2 page 경우= 2*10 = 20 • currentBlock = currentPage/blockSize + 1; //현재블록 현재페이지16 경우: 16/10+1=2 블록 • startPage = (currentBlock-1) * blockSize + 1; //현재 블럭의 시작 페이지(2블록-1)*10+1 = 11 page • endPag= currentBlock * blockSize; //현재 블럭의 끝 페이지 (2블록)*10 = 20 page • totalPage = totalRow/pageSize+1 : //전체행을db에서 읽어와 전체 페이지 계산 • totalBlock= totalPage/blockSize + 1; //전체 블럭 수 3 블록=23페이지/10+1 [1][2[3][4][5][6][7][8][9][10] [11][12][13][14][15] [16] [17][18][19][20] [21][22][23] ….. [30] blockSize=10 totalPage endPage startPage startPage endPage currentBlock=1 currentBlock=3 currentBlock=2 totalBlock =3
listboard.jsp- 283p수정계속 try //현재 페이지에 필요한 행만 읽어와 게시판 목록에 출력한다. { String strSQL ="SELECT * FROM ( SELECT ROWNUM AS rnum, a.* FROM ( SELECT num,title,name,wdate,cnt,email FROM bbs100 order by numdesc ) aWHERE ROWNUM <= ?) WHERE rnum>= ?"; pstmt= conn.prepareStatement(strSQL); pstmt.setInt(1, endRow ); //한 페이지의 데이터만 역으로읽기 1 ~ 1+10 pstmt.setInt(2, startRow ); rs = pstmt.executeQuery(); %> <center><font size="3"><b> 게시판 </b></font></center> <hr size="1" noshade width="600" align="center"> <TABLE border="0" cellspacing=1 cellpadding=2 width="600" align="center"> <TR bgcolor="cccccc"> <TD align="center"><font size=2><b>번호</b></font> </TD> <TD align="center" width="250"><font size=2><b>글 제목</b></font></TD> <TD align="center"><font size=2><b>작성자</b></font></TD> <TD align="center"><font size=2><b>작성일</b></font></TD> <TD align="center"><font size=2><b>조회</b></font></TD> </TR>
부질의와 엘리어스(alius) SELECT num,title,name,wdate,cnt,email FROM bbs100 order by numdesc SELECT * FROM bbs100 SELECT * FROM ( SELECT num,title,name,wdate,cnt,email FROM bbs100 order by numdesc) SELECT ROWNUM, A.* FROM ( SELECT num,title,name,wdate,cnt,email FROM bbs100 order by numdesc) A WHERE ROWNUM <= 13 SELECT ROWNUM AS RNUM, A.* FROM ( SELECT num,title,name,wdate,cnt,email FROM bbs100 order by numdesc ) A WHERE ROWNUM <= 13 SELECT * FROM ( SELECT ROWNUM AS RNUM, A.* FROM ( SELECT num,title,name,wdate,cnt,email FROM bbs100 order by numdesc ) A WHERE ROWNUM <= 13 ) WHERE RNUM > 3; Alias(별칭) Table - ( SELECT num,title,name,wdate,cnt,email FROM bbs100 order by numdesc)A Bbs100 B Record - ROWNUM AS RNUM
[이전] [11][12][13] [14][15] [16] [ 7][18][19][20] [다음] [1][2[3][4][5][6][7][8][9][10] [11][12][13][14][15] [16] [17][18][19][20] [21][22][23] ….. [30] totalPage EndPage startPage startPage endPage ㅇ blockSize=10 currentBlock=1 currentBlock=3 currentBlock=2 totalBlock =3 게시판 목록보기 페이지번호 이동확인