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

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

· 11년 전 · 6491 · 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 으로 처리할 방법은 없는 지요 ??
감사

게시글 목록

번호 제목
24318
24317
24315
24309
24294
24293
24277
24262
24260
24253
24251
24236
24233
24228
24226
24221
24214
24203
24201
24199
24196
24195
24194
24192
24191
24187
24185
24183
24172
24168