예비필드의 특정값을 가지고있는 게시물만 리스트에 노출하기 정보
예비필드의 특정값을 가지고있는 게시물만 리스트에 노출하기본문
이 소스는 등록된 게시물중 예비필드에 특정값이 들어있는 것만 리스팅하고 싶을때 사용합니다
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
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 으로 처리할 방법은 없는 지요 ??
1. 그런데 혹시 다음과 같이 하면 안될 까요 ??
$sql = " select distinct wr_parent from {$write_table} where {$sql_search}"; 앞에
$sql_search .= {$sql_search_fld}; 추가
그러면 좀더 간단히 될 것 같기도 한데 ...
2. /bbs/list.php 를 손대지 않고 list.skin.php 으로 처리할 방법은 없는 지요 ??
감사