공지사항글만 검색
본문
모든게시판이 아닌 특정 게시판(aaa)에서만, 목록에서 검색시 해당게시판의 전체글을 검색하는게 아니라
해당게시판에서 공지사항으로 체크된 글중에서만 검색결과가 나오게 하려면 어떻게해야하나요?
답변 3
bbs/list.php 파일에서 다음 코드를 찾아주세요
단. 해당 파일은 추후 업데이트 시 보통 파일로 붙혀넣기 한다면 해당 코드 내용이 유실되므로, 별도로 코드 관리 하시길 바랍니다.
//검색인지 아닌지 구분하는 변수 초기화
$is_search_bbs = false;
if ($sca || $stx || $stx === '0') { //검색이면
$is_search_bbs = true; //검색구분변수 true 지정
그리고 다음 코드 밑에 해당 코드를 넣어주세요
$sql_search = get_sql_search($sca, $sfl, $stx, $sop); <== 이 코드 밑에 아래 코드를 넣어주세요
if($bo_table == 'free') { // 자유게시판이며, 원하는 보드명으로 수정하세요
$sql_search .= " and wr_id in (".implode(',', explode(',', trim($board['bo_notice']))).") ";
}
!-->!-->
일단 bbs/list.php 이부분 에서 검색 하는 부분을 확인 해야될것같네요
※ /bbs/search.php 파일에서 검색 조건을 처리하는 SQL 쿼리를 수정하면 될까요?
- 특정 게시판(aaa)의 필드 중에, 공지 여부를 나타내는 필드 유/무 체크.
- 공지로 체크된 글만 검색되도록 하기 위해서는
글 작성 또는 수정 페이지(write_update.php)에서 wr_notice 필드를 처리해야 합니다.
- write.skin.php; 글 작성 및 수정 화면에 공지사항 체크박스를 추가.
if ($bo_table == 'aaa') {
$sql = "SELECT * FROM {$g5['write_table']} WHERE bo_table = 'aaa' AND wr_notice = 1 AND (wr_subject LIKE '%{$search_query}%' OR wr_content LIKE '%{$search_query}%')";
} else {
$sql = "SELECT * FROM {$g5['write_table']} WHERE wr_subject LIKE '%{$search_query}%' OR wr_content LIKE '%{$search_query}%'";
}
ALTER TABLE `g5_write_aaa` ADD `wr_notice` TINYINT(1) NOT NULL DEFAULT 0 AFTER `wr_content`;
write_update.php
$wr_notice = isset($_POST['wr_notice']) ? (int)$_POST['wr_notice'] : 0;
$sql = "UPDATE {$write_table} SET
wr_notice = '{$wr_notice}'
WHERE wr_id = '{$wr_id}'";
sql_query($sql);
write.skin.php - 공지사항 체크박스를 추가
<div>
<label><input type="checkbox" name="wr_notice" value="1" <?php echo ($write['wr_notice'] ? 'checked' : ''); ?>> 공지사항으로 설정</label>
</div>
답변을 작성하시기 전에 로그인 해주세요.