게시판 조건부 리스트 출력에서 검색 조건부 리스트 출력에 대해 문의 드립니다.
본문
안녕하세요.
그누보드5 게시판 조건부 리스 출력을 다음과 같이 했습니다. 현재 파일이름은 bbs/ list.php 입니다.
if($bo_table == 'A'){ ....................................
$sql_add = "and wr_3 = 'Y' "; }
wr_3 ='Y' 일때 리스트 출력으로 한 게시판 A 가 있습니다. 리스트는 잘 출력 됩니다.
그런데 검색시 조건부 리스트 출력이라 검색할때 리스트 출력 안됩니다. 제가 생각하기에는 조건부리스트출력 때문에 그런것이 같은데 아무리 조건절을 집어넣어도 검색이 되지 않아서 이렇게 질문을 드립니다. 도와 주세요. 부탁드립니다. 미리 고맙습니다.
답변 1
아래 코드 두 군데 수정하면 될 듯요...
// 분류 선택 또는 검색어가 있다면
$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']})) ";
$sql_search .= " and (wr_num between {$spt} and ({$spt} + {$config['cf_search_part']})) and wr_3 = 'Y' ";;
// 원글만 얻는다. (코멘트의 내용도 검색하기 위함)
// 라엘님 제안 코드로 대체 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 = "";
$sql_search = " and wr_3 = 'Y' ";
$total_count = $board['bo_count_write'];
}
답변을 작성하시기 전에 로그인 해주세요.