테스트 사이트 - 개발 중인 베타 버전입니다

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

· 11년 전 · 6490 · 2

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

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월 의 값이 들어있는 게시물만 리스팅됩니다




댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 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 으로 처리할 방법은 없는 지요 ??
감사

게시글 목록

번호 제목
2255
2247
2236
2232
2230
2211
2206
2203
2200
2193
2186
2185
2184
2182
2181
2173
2171
2162
2158
2153
2148
2147
2146
2141
2138
2137
2130
2127
2126
2110