게시판 분류선택시 목록이 다 안나옵니다
본문
전체에서는 환경설정에서 입력한 목록의 숫자에 맞게 전체목록에 하단에 게시판의 숫자표시가 뜨는데,
위 사진처럼 분류를 선택하면 목록에 있는 글 전체가 아닌 몇개만 나오고 있습니다.
어떤 부분을 수정하면 목록에 있는 게시글 전체가 다 나올 수 있을까요?
고수님들의 가르침 부탁드립니다
p.s :
1. 테마스킨문제라는 의견이 있어 베이직으로 돌려봤는데도 증상은 동일합니다 ㅠㅠ
2. 목록 옆 숫자쪽을 보라고 하신 의견이 있었는데 해당 소스를 넣기 이전부터 그랬습니다
list.php 파일에 있는 내용이 왠지 이것과 관련있는 소스인것 같은데 봐주실 수 있을까요?
// 분류 사용 여부
$is_category = false;
$category_option = '';
if ($board['bo_use_category']) {
$is_category = true;
$category_href = get_pretty_url($bo_table);
$sqlCnum = " select count(*) as Cnum from $write_table where wr_is_comment = 0";
$rowCnum = sql_fetch($sqlCnum);
$CnumText = " <span style='font-size:11px;color:#666666; padding-left:3px;";
if ($sca=='') {
$CnumText = $CnumText." color:#ffffff;";
}
$CnumText = $CnumText." '>{$rowCnum['Cnum']}</span>";
$category_option .= '<li><a href="'.$category_href.'"';
if ($sca=='')
$category_option .= ' id="bo_cate_on"';
$category_option .= '>전체'.$CnumText.'</a></li>';
$tmp_write_table = $g5['write_prefix'] . $bo_table;
$categories = explode('|', $board['bo_category_list']); // 구분자가 , 로 되어 있음
for ($i=0; $i<count($categories); $i++) {
$category = trim($categories[$i]);
$tmp_row = sql_fetch(" select count(*) as cnt from {$tmp_write_table} where ca_name = '".$category."' ");
if ($category=='' || $tmp_row['cnt'] < 1) continue;
if ($category=='') continue;
$category_option .= '<li><a href="'.(get_pretty_url($bo_table,'','sca='.urlencode($category))).'"';
$category_msg = '';
if ($category==$sca) { // 현재 선택된 카테고리라면
$category_option .= ' id="bo_cate_on"';
$category_msg = '<span class="sound_only">열린 분류 </span>';
}
$sqlCnum = " select count(*) as Cnum from $write_table where wr_is_comment = 0 and ca_name = '{$category}'";
$rowCnum = sql_fetch($sqlCnum);
$CnumText = " <span style='font-size:11px;color:#666666; padding-left:3px;";
if ($category==$sca) { // 현재 선택된 카테고리라면
$CnumText = $CnumText." color:#ffffff;";
}
$CnumText = $CnumText." '>{$rowCnum['Cnum']}</span>";
$category_option .= '>'.$category_msg.$category.$CnumText.'</a></li>';
}
}
$sop = strtolower($sop);
if ($sop != 'and' && $sop != 'or')
$sop = 'and';
// 분류 선택 또는 검색어가 있다면
$stx = trim($stx);
//검색인지 아닌지 구분하는 변수 초기화
$is_search_bbs = false;
if ($sca || $stx || $stx === '0') { //검색이면
$is_search_bbs = true; //검색구분변수 true 지정
$sql_search = get_sql_search($sca, $sfl, $stx, $sop);
// 가장 작은 번호를 얻어서 변수에 저장 (하단의 페이징에서 사용)
$sql = " select MIN(wr_num) as min_wr_num from {$write_table} ";
$row = sql_fetch($sql);
$min_spt = (int)$row['min_wr_num'];
if (!$spt) $spt = $min_spt;
$sql_search .= " and (wr_num between {$spt} and ({$spt} + {$config['cf_search_part']})) ";
// 원글만 얻는다. (코멘트의 내용도 검색하기 위함)
// 라엘님 제안 코드로 대체 http://sir.kr/g5_bug/2922
$sql = " SELECT COUNT(DISTINCT `wr_parent`) AS `cnt` FROM {$write_table} WHERE {$sql_search} ";
$row = sql_fetch($sql);
$total_count = $row['cnt'];
/*
$sql = " select distinct wr_parent from {$write_table} where {$sql_search} ";
$result = sql_query($sql);
$total_count = sql_num_rows($result);
*/
} else {
$sql_search = "";
$total_count = $board['bo_count_write'];
}
if(G5_IS_MOBILE) {
$page_rows = $board['bo_mobile_page_rows'];
$list_page_rows = $board['bo_mobile_page_rows'];
} else {
$page_rows = $board['bo_page_rows'];
$list_page_rows = $board['bo_page_rows'];
}
if ($page < 1) { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지)
// 년도 2자리
$today2 = G5_TIME_YMD;
$list = array();
$i = 0;
$notice_count = 0;
$notice_array = array();
답변 3
해당 파일도 백업 후 순정으로 돌려보세요.
그리고 board.php 이 파일도요
해당 게시판 ca_name이 비슷하지만 달라서 그런 게 아닐까요?
phpmyadmin 등에서
select ca_name, count(*) from g5_write_게시판 group by ca_name
해서 갯수를 확인해 보세요.
소스코드 중에 다음부분
$sqlCnum = " select count(*) as Cnum from $write_table where wr_is_comment = 0 and ca_name = '{$category}'";
echo $sqlCnum;
처럼 해보시고 실제 쿼리 날려보세요.
그다음에 "count(*) as Cnum" 를 "*" 로 변경 후 상세목록 확인도 해보세요
!-->
답변을 작성하시기 전에 로그인 해주세요.