예비필드의 특정값을 가지고있는 게시물만 리스트에 노출하기 > 그누보드5 팁자료실

그누보드5 팁자료실

예비필드의 특정값을 가지고있는 게시물만 리스트에 노출하기 정보

예비필드의 특정값을 가지고있는 게시물만 리스트에 노출하기

본문


이 소스는 등록된 게시물중 예비필드에 특정값이 들어있는 것만 리스팅하고 싶을때 사용합니다

ex)  게시판아이디가 free 이고 게시물중에 wr_1 wr_2 에 각각 이벤트상품  10월 이라는 값이 들어가 있는것만 출력하고 싶을때~


/bbs/list.php 를 열고

1. 맨처음 소스인  if (!defined('_GNUBOARD_')) exit;  다음에
아래의 소스를 넣으세요

if( $bo_table == 'free' ){

    $fldName[] = "wr_1";
    $fldName[] = "wr_2";
   
    $fldValue[] = "이벤트상품";
    $fldValue[] = "10월";
   
    for($f = 0; $f < count($fldName); $f++){
       
        $sql_search_fld .= " AND {$fldName[$f]} = '{$fldValue[$f]}' ";
       
    }   

}

2. 쿼리 편집하기 ( 각 쿼리에 {$sql_search_fld} 를 추가하는것입니다 )

$sql = " select distinct wr_parent from {$write_table} where {$sql_search}";
를 
$sql = " select distinct wr_parent from {$write_table} where {$sql_search} {$sql_search_fld}";
로 변경




$total_count = $board['bo_count_write'];


if($bo_table == "free"){
       
        $sql = " select distinct wr_parent from {$write_table} where 1 {$sql_search} {$sql_search_fld}";
        $result = sql_query($sql);
        $total_count = mysql_num_rows($result);
       
    }else{
        $total_count = $board['bo_count_write'];
    }
로 변경





if ($sca || $stx) {
    $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 ";
    if(!empty($notice_array))
        $sql .= " and wr_id not in (".implode(', ', $notice_array).") ";
    $sql .= " {$sql_order} limit {$from_record}, $page_rows ";
}


if ($sca || $stx) {
    $sql = " select distinct wr_parent from {$write_table} where {$sql_search} {$sql_search_fld} {$sql_order} limit {$from_record}, $page_rows ";
} else {
    $sql = " select * from {$write_table} where wr_is_comment = 0 {$sql_search_fld} ";
    if(!empty($notice_array))
        $sql .= " and wr_id not in (".implode(', ', $notice_array).") ";
    $sql .= " {$sql_order} limit {$from_record}, $page_rows ";
}
로 변경



이렇게 하면 게시판아이디 free의 리스트에는 이벤트상품 10월 의 값이 들어있는 게시물만 리스팅됩니다




 
추천
6

댓글 2개

그렇지않아도 찾고 있던 참 인데 좋은정보 감사합니다.
1. 그런데 혹시 다음과 같이 하면 안될 까요 ??
$sql = " select distinct wr_parent from {$write_table} where {$sql_search}";  앞에
$sql_search .= {$sql_search_fld};  추가
그러면 좀더 간단히 될 것 같기도 한데 ...

2. /bbs/list.php 를 손대지 않고 list.skin.php 으로 처리할 방법은 없는 지요 ??
전체 2,432 |RSS
그누보드5 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT