채택완료
게시판 조건부 리스트 출력에서 검색 조건부 리스트 출력에 대해 문의 드립니다.
안녕하세요.
그누보드5 게시판 조건부 리스 출력을 다음과 같이 했습니다. 현재 파일이름은 bbs/ list.php 입니다.
if($bo_table == 'A'){ ....................................
$sql_add = "and wr_3 = 'Y' "; }
wr_3 ='Y' 일때 리스트 출력으로 한 게시판 A 가 있습니다. 리스트는 잘 출력 됩니다.
그런데 검색시 조건부 리스트 출력이라 검색할때 리스트 출력 안됩니다. 제가 생각하기에는 조건부리스트출력 때문에 그런것이 같은데 아무리 조건절을 집어넣어도 검색이 되지 않아서 이렇게 질문을 드립니다. 도와 주세요. 부탁드립니다. 미리 고맙습니다.
답변 1개 / 댓글 4개
채택된 답변
+20 포인트
아래 코드 두 군데 수정하면 될 듯요...
Copy
// 분류 선택 또는 검색어가 있다면
$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'];
}
답변에 대한 댓글 4개
답변 정말 고맙습니다. 그런데 안되네요. ㅜㅜ 이렇게 소스까지 상세하게 만들어 주셨는데 ㅜㅜ 오히려 제가 죄송합니다. 현재 검색 항목은 wr_2 입니다. 기존 검색항목이 아닌 새로 항목을 추가해서 그누보드 질의응답에서 힌트 얻어서 search.php 까지 고친 상황입니다. 그리고 게시판은 총 5개 됩니다. 오로지 한개의 게시판만 게시판조건부리스트 출력과 새로운 검색항목으로 합니다. 이렇게 검색이 어려운지 몰랐습니다. 혹시 다른 부분을 거쳐야 될까요?
답변을 작성하려면 로그인이 필요합니다.