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

게시판 분류 정렬할 때 wr_1에 값이 없는 글만 리스트에 나오게 하고 싶습니다 채택완료

ldscmax 4년 전 조회 1,972

안녕하세요.

 

게시판 리스트에서 분류로 정렬할 때 wr_1에 값이 없는 글만 리스트에 나오게 하고 싶습니다.

 

스킨에서 처리할 수 있는 방법이 있으면 더 좋을 것 같네요.

 

고수님들 도움 부탁드립니다.

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

답변 2개

채택된 답변
+20 포인트
세크티
4년 전

스킨파일 불러오기전에 전체게시물수와 페이징처리가 되기때문에 스킨에서 처리하게되면 어떤페이지는 9개 어떤페이지는 12개 이런식으로 출력되게 됩니다.

상관없으시면 list.skin.php 의 for문 안쪽에 아래 코드 넣으시면 되구요.

</p>

<pre>
for ($i=0; $i<count($list); $i++) {</pre>

<p>   if($sca and $list[$i]['wr_1']) continue;</p>

<p>    ...</p>

<p>

페이징 처리에 문제가 없으려면  /bbs/list.php 에서 아래부분 찾아서 추가해보세요

</p>

<pre>
if ($sca || $stx || $stx === '0') {     //검색이면
    $is_search_bbs = true;      //검색구분변수 true 지정
    $sql_search = get_sql_search($sca, $sfl, $stx, $sop);

    // 가장 작은 번호를 얻어서 변수에 저장 (하단의 페이징에서 사용)
    $sql = " select MIN(wr_num) as min_wr_num from {$write_table} ";
    $row = sql_fetch($sql);
    $min_spt = (int)$row['min_wr_num'];

    if (!$spt) $spt = $min_spt;

    $sql_search .= " and (wr_num between {$spt} and ({$spt} + {$config['cf_search_part']})) ";</pre>

<p>     // 추가하기</p>

<p>     if($sca){</p>

<p>          $sql_search .= " and wr_1='' ";</p>

<p>     }</p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

l
ldscmax
4년 전
답변 감사합니다.

스킨에서 처리하는 것은 잘 되는데..

bbs/list.php는

// 추가하기
if($sca){
$sql_search .= " and wr_1='' ";
}

추가해도 아무런 변화가 없습니다.

혹시 아미나 빌더는 뭐가 다른걸까요?
세크티
4년 전
//추가하기 소스코드 앞뒤로 같이 올려보시겠어요?아미나도 똑같은 변수를 쓸텐데요
l
ldscmax
4년 전
넵..

이런식으로 되어 있습니다.


[code]


$sop = strtolower($sop);
if ($sop != 'and' && $sop != 'or')
$sop = 'and';

// 분류 선택 또는 검색어가 있다면
$stx = trim($stx);
//검색인지 아닌지 구분하는 변수 초기화
$is_search_bbs = false;

if ($sca || $stx || $stx === '0') { //검색이면
$is_search_bbs = true; //검색구분변수 true 지정
$sql_search = get_sql_search($sca, $sfl, $stx, $sop);

// 가장 작은 번호를 얻어서 변수에 저장 (하단의 페이징에서 사용)
$sql = " select MIN(wr_num) as min_wr_num from {$write_table} ";
$row = sql_fetch($sql);
$min_spt = (int)$row['min_wr_num'];

if (!$spt) $spt = $min_spt;

$sql_search .= " and (wr_num between {$spt} and ({$spt} + {$config['cf_search_part']})) ";

// 추가하기
if($sca){
$sql_search .= " and wr_1='' ";
}

if($sql_apms_where) $sql_search .= $sql_apms_where;

// 원글만 얻는다. (코멘트의 내용도 검색하기 위함)
// 라엘님 제안 코드로 대체 http://sir.kr/g5_bug/2922
$sql = " SELECT COUNT(DISTINCT `wr_parent`) AS `cnt` FROM {$write_table} WHERE {$sql_search} ";
$row = sql_fetch($sql);
$total_count = $row['cnt'];
/*
$sql = " select distinct wr_parent from {$write_table} where {$sql_search} ";
$result = sql_query($sql);
$total_count = sql_num_rows($result);
*/
} else {
$sql_search = "";
$total_count = $board['bo_count_write'];
}

if(G5_IS_MOBILE) {
$page_rows = $board['bo_mobile_page_rows'];
$list_page_rows = $board['bo_mobile_page_rows'];
} else {
$page_rows = $board['bo_page_rows'];
$list_page_rows = $board['bo_page_rows'];
}

if ($page < 1) { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지)


[/code]

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

세크티
4년 전

이상은 없어보입니다. list뽑은 $sql문의 where절에 wr_1='' 이 들어가있나 한번 확인해보세요. 카테고리 고른 화면에서요.sca변수가 반드시 있어야합니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

l
ldscmax
4년 전
넵.. 이런식으로 들어가 있습니다.

/bbs/board.php?bo_table=gallery&sca=일반


echo $sql_search;
exit;


조건문 확인도 해봤는데 역시 and wr_1='' 포함되어 있구요..

근대 안되네요 ㅠㅠ

페이징 안 맞더라도 그냥 스킨에서 처리해야겠네요ㅠㅠ

시간내어 답변 주셔서 감사합니다!

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

답변을 작성하려면 로그인이 필요합니다.

로그인