chap 20 - 답변형 게시판, 계층형 쿼리
원래는 테이블을 지운 후 다시 만들어야 하는데
우리는 컬럼을 추가하는 쪽으로 하였다.
위에 3가지 컬럼을 tblBoard 테이블에 추가 해주어야 한다.
답변글은 게시판의 글목록의 개수대로 1~ 번호가 나아가는데 해당하는 원글의 개수(index) 번호를 알아와서 알아온 번호를 groupno로 사용한다.
fk_seq 는 foreign가 아니며 원글(부모글)의 seq컬럼의 값을 가지며, 답변글이 아닌 경우 0을 가지도록 한다. (답변글의 답변글을 구분해 주기 위함이다.)
depthno 는 해당 글에 답변 글을 달았을 경우 한칸씩 들여서 나오는 것이 좋다.
추가한 컬럼 groupno 를 추가할때 number 를 주었을때 오류로 인해 추가가 되어지지 않았다.
그러므로 number 에 default 0 값을 주고 추가하였다.
여기서 groupno 는 해당 글의 개수에 따라 증가되어야 하므로 0이 들어가면 안된다.
1부터 개수대로 올라가야 한다.
위와 같이 상관서브쿼리를 사용한다.
[ BoardVO.java ]
[ board.xml ]
#93.을 수정하여야 한다.
[ view.jsp ]
[ BoardController.java ]
#.51번 안에 #130.번 을 추가해 주었다.
[ add.jsp ]
[ BoardController.java ]
service로 가자~ boardvo 에 모두 담겨져 있다.
[ BoardService.java ]
#55.번 안에 #132.번이 있다.
[ InterBoardDAO.java ]
[ BoardDAO.java ]
[ board.xml ]
[ BoardDAO.java ]
[ board.xml ]
답변글쓰기를 눌러서 글을 쓰면~~
19 번인 맨위로 나온다.
맨위로 새로 나오는 것이 아니라 해당하는 원글 아래에 나오도록 해야한다.
먼저 계층형 쿼리를 배워보자.
[ board.xml ]
위에처럼 답변글이 원글 아래에 나온다.
이제 보기좋게 다듬어야한다.
[ list.jsp ]
└Re 라는 글자를 붙이도록 해보자
들여쓰기를 해주자.
관리자만 답글쓰기가 가능하도록 해보자.
[ view.jsp ]
답변글 쓰기 버튼을 관리자만 보여주도록 하면 된다.
위에처럼 하면~ 답글쓰기 버튼이 일반회원으로 했을경우 버튼이 안보이고
admin 으로 로그인 하면 답글쓰기 버튼이 보인다.