리스트 화면(list.skin.php)에서 게시글 건수 조정 시 재 배열방법은?

리스트 화면(list.skin.php)에서 게시글 건수 조정 시 재 배열방법은?

QA

리스트 화면(list.skin.php)에서 게시글 건수 조정 시 재 배열방법은?

본문

 

아래와 같이 게시판에 올라온 총 7건의 내용중, 

wr_10 여분 필드에 관리자가 ok 처리한 것만 list화면에 나오도록 처리하였습니다.

 

82b0eaaee59b91478638bc06e4a5d92d_1473632676_0648.png

소스 추가한 부분

 

        <tbody>

        <?php

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

         ?>

        <?php if($list[$i]['wr_10'] == "ok") { ?>

        <tr class="<?php if ($list[$i]['is_notice']) echo "bo_notice"; ?>">

            <td class="td_num">


......

 

        <?php } ?> <!-- isShow end -->

        <?php } ?>

        <?php if (count($list) == 0) { echo '<tr><td colspan="'.$colspan.'" class="empty_table">게시물이 없습니다.</td></tr>'; } ?>

        </tbody>

 

 

등록건수는 실제 등록된 7건으로 나옵니다. 

(게시글이 많으면 실제 게시글 조회된 wr_10='ok'이랑 맞지 않아 아래 그림처럼 빈페이지도 존재하게됩니다. )

 

82b0eaaee59b91478638bc06e4a5d92d_1473633666_5849.png

 

 

이 질문에 댓글 쓰기 :

답변 2

필요한거 하나 때문에 전체를 바꿔야 할 판이네요.

저런식으로 리스트를 뿌려주는건 좋이 않습니다만...

 

bbs/write_update.php 에 이용하실만한 좋은 기능이 있습니다.

 

일단은 $list 배열만 잘 가져 오면 되는데요.

 

bbs/list.php에서 아래 소스 찾아보세요.


    $sql_search .= " and (wr_num between {$spt} and ({$spt} + {$config['cf_search_part']})) ";
    // 원글만 얻는다. (코멘트의 내용도 검색하기 위함)
    // 라엘님 제안 코드로 대체 http://sir.kr/g5_bug/2922
    $sql = " SELECT COUNT(DISTINCT `wr_parent`) AS `cnt` FROM {$write_table} WHERE {$sql_search} ";

$sql_search에 따라 리스트가 달라 지게 됩니다.  그래서 최종 $sql_search에 검색 조건을

추가 할 수 있는 스킨을 불러오도록 다음과 같이 추가해 보세요.


    $sql_search .= " and (wr_num between {$spt} and ({$spt} + {$config['cf_search_part']})) ";
 
    // 리스트 스킨 검색 추가
    @include_once($board_skin_path.'/list.search.skin.php');
 
    // 원글만 얻는다. (코멘트의 내용도 검색하기 위함)
    // 라엘님 제안 코드로 대체 http://sir.kr/g5_bug/2922
    $sql = " SELECT COUNT(DISTINCT `wr_parent`) AS `cnt` FROM {$write_table} WHERE {$sql_search} ";
 

이렇게 하시고 님께서 사용하고 계시는 스킨 폴더에 가셔서

list.search.skin.php를 만드신 후에


<?php
$sql_search .= " and wr_10 = 'ok' ";
?>

추가하고 저장 하시면

스킨에 별도 조건을 주지 않으셔도 리스트나 리스트수나 페이징까지 맞게 나올겁니다.

물론 지금 작업해 놓으신 조건 제거하고 원래 소스로 만드셔야 원하시는 결과를

보실수 있을 겁니다.

이런식으로 하시면 해당 스킨에서만 'ok' 라는 조건을 검색하고 다른 스킨이랑

별도로 사용할 수 있어 좋습니다.

 

 

/skin/board/basic/list.skin.php  파일에 아래 내용 삭제 후 등록된 글 전체가 노출됩니다.
 
<?php if($list[$i]['wr_10'] == "ok") { ?> 
....
<?php } ?> <!-- isShow end -->



/bbs/list.php 파일을 아래와 같이 수정

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

    // 리스트 스킨 검색 추가
    @include_once($board_skin_path.'/list.search.skin.php');
   
    // 원글만 얻는다. (코멘트의 내용도 검색하기 위함)
    // 라엘님 제안 코드로 대체 http://sir.kr/g5_bug/2922
    $sql = " SELECT COUNT(DISTINCT `wr_parent`) AS `cnt` FROM {$write_table} WHERE {$sql_search} ";


/skin/board/basic/
  list.search.skin.php를 추가하였습니다.
  <?php  $sql_search .=" and wr_10 ='ok' "; ?>


7건 모두 나오고 있습니다.

별다른 차이가 없다는 것이 무슨 말씀이신지 모르겠습니다.
게시판 스킨 경로를 잘 확인 하셔야 할겁니다.
스킨이 테마용과 비테마용이 있어
혼돈하실수 있어서요.

망약 해당 스킨 적용이 잘 되었는지 확인하고 싶으시면

bbs/list.php에서


// 원글만 얻는다. (코멘트의 내용도 검색하기 위함)
    // 라엘님 제안 코드로 대체 http://sir.kr/g5_bug/2922
    $sql = " SELECT COUNT(DISTINCT `wr_parent`) AS `cnt` FROM {$write_table} WHERE {$sql_search} ";

echo $sql;

에코로 $sql을 출력해서 $sql_search가 잘 적용이 되었는지 확인해 보셨으면 합니다.

만약에 적용이 되지 않았다면
$board_skin_path가 잘못 지정되어 있을 가능성이 큽니다.
관리자 게시판 설정에서 스킨적용을 어떤걸로 하셨는지 확인해 보셨으면 합니다.

배추빌더를 사용하고 있습니다.
자세히 알려주시는데...잘 적용을 못하는거 같네요

일단 알려주신 /bbs/list.php에서 echo $sql; 하였는데요...

출력이 되면 어디에 나오는건지?

t.orangesam.com 테스트 사이트에
스킨은 /skin/board/basic에 적용해보고 있습니다..

/theme/ 하위에 있는 스킨은  전혀 사용하지 않습니다.

까다로운 케이스네요...
배추에 주소마저 변형이 되어 있어서...
echo 하셨다면 화면에는 안보여도 소스 보기하면 보이실겁니다.
빌더의 경우 어디를 어떤식으로 변형을 했는지 파악을 해야 해서요...
배추는 써본적이 없네요.

빌더의 경우는 여기보단 배추빌더 홈에서 해결 하시는쪽이 빠를겁니다.
배추 사용하셨던 분이 있다면 답변을 드릴 수 있지만 아무래도
확률적으로 배추빌더 홈이 좀더 많은 분들이 답변드릴 수 있으니까요...

답변을 작성하시기 전에 로그인 해주세요.
전체 59,644
QA 내용 검색

회원로그인

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