게시판 페이징 수정2...
본문
어제 https://sir.kr/qa/409365?vpage=1#answer_409378 게시물을 작성하여 엑스엠엘님께 도움을 받았습니다. 감사합니다.
하지만 아직 적용을 못하고 있고 이전 글이 설명이 부족하다고 생각되어 다시 질문글을 올립니다.
---------------------------이전 게시물 내용-------------------------------
이렇게 회원들마다 본인들이 작성한 게시물을 모아두는 스킨으로 제작했습니다.
그런데 페이징이 전체 게시물 숫자로 적용이 되는 것같습니다..
페이징 넘버를 전체 게시물이 아닌 게시물을 작성한 회원들의 숫자로 적용할 수 있을까요?
------------------------------------------------------------------------------
현재 게시물을 올린 회원은 4명이고 게시물의 총 개수는 13개입니다.
목록개수는 pc/모바일 모두 20개로 설정하였는데 페이지넘버는 17번까지 출력이 되고 있습니다.
257개로 설정하면 페이징이 1로 바뀌면서 '등로된 회원이 없습니다.'라는 문구가 페이징 위쪽에 출력되어 나옵니다.
목표는 게시물을 올린 회원을 기준으로 페이징을 적용하고 싶습니다.
(목록개수 10개 지정 -> 게시물 작성 회원 10명 이상일때 페이징)
답변 4
내용을 이해하기가 많이 어려운 것 같습니다.
그누보드에서 기본적인 전체 게시글 숫자 구하는 쿼리 관련 소스는 다음과 같습니다.
$sql = " SELECT COUNT(DISTINCT `wr_parent`) AS `cnt` FROM {$write_table} WHERE {$sql_search} ";
$row = sql_fetch($sql);
$total_count = $row['cnt'];
전체 카운트를 게시글 숫자가 아닌, 회원수로 한다면.. 쿼리를 변경해서 $total_count 변수에 넣어주면 될 듯 합니다.
$sql = " SELECT COUNT(DISTINCT `mb_id`) AS `cnt` FROM {$write_table} WHERE {$sql_search} ";
$row = sql_fetch($sql);
$total_count = $row['cnt'];
/skin/board/[사용스킨명]/list.skin.php 에 적용을 해야 될 것 같지만..
해당 스킨이 어떤분이 어떻게 만든 것인지에 대한 부분은 알 수 없기 때문에 확실치는 않습니다.
!-->!-->이렇게 회원들마다 본인들이 작성한 게시물을 모아두는 스킨으로 제작했습니다.
==
해당 스킨을 올려 보세요.
list.row.php라는 파일에는
$sql = " select count(*) as cnt {$sql_common} {$sql_search} {$sql_order} ";
$row = sql_fetch($sql);
$total_count = $row['cnt'];
$rows = (G5_IS_MOBILE) ? $board['bo_mobile_page_rows'] : $board['bo_page_rows'];
$total_page = ceil($total_count / $rows); // 전체 페이지 계산
$page = ($page > 0) ? $page : 1; // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $rows; // 시작 열을 구함
$sql = " select * {$sql_common} {$sql_search} {$sql_order} limit {$from_record}, {$rows} ";
$result = sql_query($sql);
이렇게 정리되어 있습니다.
아래는 list.skin.php 파일입니다.
<div class="list-page text-center">
<ul class="pagination en no-margin">
<?php if($prev_part_href) { ?>
<li><a href="<?php echo $prev_part_href;?>">이전검색</a></li>
<?php } ?>
<php echo apms_paging(G5_IS_MOBILE ? $config['cf_mobile_pages'] : $config['cf_write_pages'], $page, $total_page, './board.php?bo_table='.$bo_table.$qstr.'&page=');?>
<?php if($next_part_href) { ?>
<li><a href="<?php echo $next_part_href;?>">다음검색</a></li>
<?php } ?>
</ul>
</div>