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

게시판 댓글 페이징 + 역순 채택완료

coDribble 6년 전 조회 3,195

</p>

<p>    <?php

    $cmt_amt = count($list); // 전체 코멘트 수

    $rows = $config['cf_page_rows']; // 보여줄 개수

    $total_page = ceil($cmt_amt / $rows);  // 전체 페이지 계산

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

    $from_record = ( $page - 1) * $rows; // 시작 열을 구함

    $last_record = $from_record + $rows; // 마지막 코멘트 구하기</p>

<p>    if( $last_record > $cmt_amt )

        $last_record = $cmt_amt;</p>

<p>    for ($i=$from_record; $i<$last_record; $i++) {</p>

<p>    }</p>

<p>~~~~</p>

<p> </p>

<p><?php echo get_paging($rows, $page, $total_page, "{$_SERVER['SCRIPT_NAME']}?bo_table=$bo_table&wr_id=$wr_id&page="); ?></p>

<p>

 

위와같이 view_comment.skin.php 파일에 페이징을 심어놓았습니다.( 검색으로 소스 보고 제가 보기 편하게 수정했습니다...)

 

원래 참고했던 글에는 get_comment_paging 이라는 함수를 common.lib.php 안에다가 따로 추가해서 불러왔는데 그 소스랑 get_paging 소스랑 다른게 없는거 같아서 기존 페이징 함수 get_paging으로 처리했습니다...;;

 

나중에 쓴 댓글이 아래로 쌓이는 형식인데

 

페이징을 심으니 방금 달린 댓글이 마지막 페이지 마지막 행에 놓입니다...;;

 

1페이지 상단에 왔으면 좋겠는데...ㅠㅠ

 

위에 심어놓은 상태에서 최근 댓글이 1페이지 상단에 오게 하려면 어느 부분을 수정해야하나요??ㅠㅜㅜ

 

댓글 역순 관련해서 찾아보니

 

</p>

<p>for($i=$last_record; $>=$from_record; $i--)</p>

<p>

 

이런식으로 for 구문을 증가말고 감소로 하면 된다는데....

 

지금 댓글이 달려있는 상태에서 위와같이 수정해보니 틀어지는 부분이 생기는데...

 

for를 감소시키는 방법 말고는 다른 방법이 있을까하여 질문드립니다ㅠㅠㅠㅠ

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

답변 1개

채택된 답변
+20 포인트
그누위즈

원본소스 그대로에서

bbs/view_comment.php 파일에서

sql문의 마지막에 asc 로 정렬을 하시면되십니다.

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

답변에 대한 댓글 1개

c
coDribble
6년 전
답변 감사합니다!! 제가 php를 다루질 못해서... 그냥 가져다 쓰는 정도라 말씀하신 부분을 어떻게 써야 하는지 모릅니다ㅠㅠㅠㅠ

말씀해주신 view_comment.php 에서

sql 부분

$sql = " select * from $write_table where wr_parent = '$wr_id' and wr_is_comment = 1 order by wr_comment desc, wr_comment_reply ";

wr_comment 에다가 desc 추가로 해결하였습니다!

그래도 덕분에 어느 부분을 수정했어야 했는지 알게 됐네요 감사합니다!

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

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

로그인