새소식

JAVA 교육/myWeb

2019/09/09 1. 댓글 개수&검색 글 개수

  • -

댓글 개수 구하기

image

1. 댓글을 축력을 위한 정보 조회

1) 같은 그룹번호와 들여쓰기 번호순으로 제목, 그룹번호, 들여쓰기, 글순서 조회하였다

select subject, grpno, indent, ansnum
from tb_bbs
order by grpno desc , indent asc;

image

2) 그룹번호로 묶어서 그 번호에 속한 글들이 몇개인지 조회한다

select grpno, count(grpno) as cnt
from tb_bbs
group by grpno;

image

3) 2 )에서 나온 갯수는 부모글+ 자식글 이므로갯수에서 -1 을 한다

select grpno, count(grpno)-1 as cnt
from tb_bbs
group by grpno;

image

4) 3)의 논리적 테이블에 셀프(이너)조인해서 최초 부모글(indent=0)인 제목 가져오기

select AA.grpno, AA.cnt, tb_bbs.subject , tb_bbs.indent
from(
        select grpno, count(grpno)-1 as cnt
        from tb_bbs
        group by grpno
        ) AA inner join tb_bbs
on AA.grpno=tb_bbs.grpno
where tb_bbs.indent=0--최초 부모글
order by AA.grpno desc;

image

5) 생성한 검색창 위에 글 개수를 출력하자

//글개수
    int count=dao.count(col,word);
    out.println(" <tr>");
    out.println("         <td colspan='4' style='text-align:center;'>");
    out.println("         글개수 :  <strong>");         
    out.println(count);
    out.println("           </strong>");
    out.println("        </td>");
    out.println("    </tr>");

▶count 메소드를 잡아서 count 변수에 잡아 검색창으로 검색한 글의 개수가 몇개인지 출력

6) dao.count 메소드 생성

public int count(String col, String word){
int cnt=0;
try{
    Connection con=DBOpen.getConnection();
    StringBuilder sql=new StringBuilder();
    sql.append(" SELECT COUNT(*) as cnt ");
    sql.append("        FROM tb_bbs ");
    if(word.trim().length()>=1){//검색어가 있다면
        String search="";
        if(col.equals("wname")){
            search+=" WHERE wname LIKE '%"+word+"%' ";
        }
        if(col.equals("subject")){
            search+=" WHERE subject LIKE '%"+word+"%' ";
        }
        if(col.equals("content")){
            search+=" WHERE content LIKE '%"+word+"%' ";
        }
        if(col.equals("subject_content")){
            search+=" WHERE subject LIKE '%"+word+"%' ";
            search+=" OR content LIKE '%"+word+"%' ";
        }
        sql.append(search);
    }
    PreparedStatement pstmt=con.prepareStatement(sql.toString());
    ResultSet rs=pstmt.executeQuery();
    if(rs.next()){
        cnt=rs.getInt("cnt");

    }

}catch(Exception e){System.out.println("글개수 실패"+e);}
return cnt;
    }

▶ 목록에 대한 리스트는 list 페이지에서 출력을 했기 때문에<>
▶ 검색어가 있다는 조건문만 걸어서 count(*)로 개수만 조회를 해 주었다

'JAVA 교육 > myWeb' 카테고리의 다른 글

2019/09/10 3. 페이징  (0) 2019.11.22
2019/09/09 2. 검색 창  (0) 2019.11.22
2019/09/06 미니 프로젝트 bbs 게시판  (0) 2019.11.22
2019/09/02 프로젝트 (intro&template)  (0) 2019.11.22
2019/10/01 EL과 JSTL  (0) 2019.10.01
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.