댓글 말고 답변글, 답글을 게시물 리스트에서 제외하는 방법 도움 요청드립니다
다른 질답게시물에서 list.php 에서 if ($is_search_bbs) { 이하 구문을 다음같이 수정하면 일단 된다고 해서 적용해보니 아무런 변화가 없습니다
if ($is_search_bbs) {
$sql = " select distinct wr_parent from {$write_table} where {$sql_search} {$sql_order} limit {$from_record}, $page_rows ";
} else {
$sql = " select * from {$write_table} where wr_is_comment = 0 and wr_reply=''"; //답변글 목록에서 안 보이기 and wr_reply='' 추가
if(!empty($notice_array))
$sql .= " and wr_id not in (".implode(', ', $notice_array).") ";
$sql .= " {$sql_order} limit {$from_record}, $page_rows ";
}
전체 수정도 해보고 기존 코드에 and wr_reply=''"; 이 구문만 넣어보기도 했는데 마찬가지네요
소스에 뭔가 다른 문제가 있는건가요? ㅠㅠ
그리고 이 소스가 잘 적용되어도 전체 게시물 수량이 답글 포함해서 나올텐데
전체 게시물 숫자도 답글제외해서 출력하려면 어떻게 해야 하는지 도움 부탁드립니다!
답변 2개 / 댓글 6개
일단 답변글 제외해서 출력하는건 문제 없이 잘되구요..
전체 게시물 수는 아래 부분을 수정해줘야 합니다.
/bbs/list.php 62줄
} else {
$sql_search = " and wr_reply='' ";
$sql = " SELECT COUNT(DISTINCT `wr_parent`) AS `cnt` FROM {$write_table} WHERE {$sql_search} ";
$row = sql_fetch($sql);
$total_count = $row['cnt'];
}
답변에 대한 댓글 4개
다른 부분은 문제가 없는데 마지막에
$total_count = $board['bo_count_write']; // 원본
$total_count = $row['cnt']; // 수정본
이 구문을 대체 수정하면 해당 게시판 전체글보기에서 하단 페이징 숫자가 사라지고
Total 0건 1 페이지
로 나오네요,
분류로 들어가도 카운팅된 숫자가 이상하고 한 페이지에 나오는 게시물 숫자가
분류에 따라서 들쭉날쭉합니다ㅠ
혹시 제가 실수해서 잘못 넣은 부분이라면 죄송합니다 ㅠㅠ
$sql_search = " and wr_reply='' "; 를 수정하세요.
$sql_search = " wr_reply='' ";
} else {
$sql_search = " wr_reply='' ";
$sql = " SELECT COUNT(DISTINCT `wr_parent`) AS `cnt` FROM {$write_table} WHERE {$sql_search} ";
$row = sql_fetch($sql);
$total_count = $row['cnt'];
이부분은 다시 주신 소스로 덕분에 완전히 해결되었습니다
맨 밑에 제가 최종적으로 적용한 코드 붙여놓았구요
키스님, 그리고 밑에 누구야님 두분 다 친절한 답변 정말로 감사드립니다!
감사합니다! 적용 잘 됩니다!!
다만 답글 안나오게 하는 소스에 맹점이 한가지 있네요.. ㅠㅠ
게시판 전체 목록에서 보면 아주 잘 작동하는데요,
분류로만 들어가면 답글이 다 나오는 것이었네요 ㅠㅠㅠㅠ
혹시 분류로 들어가서도 리스트 자체에 답글이 보이지 않게끔 조금만 더 손을 보는게 가능할까요?
답변에 대한 댓글 2개
if ($is_search_bbs) {
$sql = " select distinct wr_parent from {$write_table} where {$sql_search} and wr_reply=''"; //답변글 목록에서 안 보이기 and wr_reply='' 추가 {$sql_order} limit {$from_record}, $page_rows ";
} else {
$sql = " select * from {$write_table} where wr_is_comment = 0 and wr_reply=''"; //답변글 목록에서 안 보이기 and wr_reply='' 추가
if(!empty($notice_array))
$sql .= " and wr_id not in (".implode(', ', $notice_array).") ";
$sql .= " {$sql_order} limit {$from_record}, $page_rows ";
}
위 코드 처럼
if ($is_search_bbs) { 아래 SQL문에 추가 하면 됩니다 ^^
다만 해당 소스를 적용해도 분류페이지에는 마찬가지로 답글이 나오네요 >> 해결
이유는 모르겠지만;;; 소스 적용하기 전에 테스트한다고 달았었던 답글만 노출되고 그 이후 답글은 정상적으로 모두 숨겨지네요! 감사합니다 ^^
1. 현재 list.php 에서 수정한 내용입니다
$sql_search .= " and (wr_num between {$spt} and ({$spt} + {$config['cf_search_part']})) ";
$sql_search .= " and wr_reply='' "; //추가
-----------------------------------------------------------------------
2. 62~66라인 수정
} else {
$sql_search = " wr_reply='' ";
$sql = " SELECT COUNT(DISTINCT `wr_parent`) AS `cnt` FROM {$write_table} WHERE {$sql_search} ";
$row = sql_fetch($sql);
$total_count = $row['cnt'];
-----------------------------------------------------------------------
3. 169~176라인 수정
if ($is_search_bbs) {
$sql = " select distinct wr_parent from {$write_table} where {$sql_search} {$sql_order} limit {$from_record}, $page_rows ";
} else {
$sql = " select * from {$write_table} where wr_is_comment = 0 and wr_reply=''"; //답변글 목록에서 안 보이기 and wr_reply='' 추가
if(!empty($notice_array))
$sql .= " and wr_id not in (".implode(', ', $notice_array).") ";
$sql .= " {$sql_order} limit {$from_record}, $page_rows ";
}
-----------------------------------------------------------------------
답변을 작성하려면 로그인이 필요합니다.
$sql_search .= " and (wr_num between {$spt} and ({$spt} + {$config['cf_search_part']})) ";
$sql_search .= " and wr_reply='' ";