게시판 페이지네이션 선택 시 전체페이지로 가지지 않고 선택한 카테고리의 페이지네이션을 뽑아내려 합니다 채택완료
$write_pages = get_paging(G5_IS_MOBILE ? $config['cf_mobile_pages'] : $config['cf_write_pages'], $page, $total_page, './board.php?bo_table='.$bo_table.$qstr."&wr_1=".$_GET['wr_1'].'&page=');
이 구문을
$write_pages2로 바꿔서 사용해도 적용이 되나요?
$wr_cnt = 0;
$wr_page = 1;
if ($_GET['wr_1']) {
$list_table = $g5['write_prefix'] . $bo_table;
$sql_wr = "select count(*) as cnt from ".$list_table." where wr_1 = '".$_GET['wr_1']."'";
$row_wr = sql_fetch($sql_wr);
$wr_cnt = $row_wr['cnt'];
$wr_page = ceil($wr_cnt / $page_rows);
}
$write_pages2 = get_paging(G5_IS_MOBILE ? $config['cf_mobile_pages'] : $config['cf_write_pages'], $page, $wr_cnt, './board.php?bo_table='.$bo_table.$qstr."&wr_1=".$_GET['wr_1'].'&page=');
이런식으로 사용하려 합니다.
wr_1을 사용한 카테고리 게시판인데, 기존에 코드 그대로 사용하면 wr_1의 카테고리를 누른 후 페이지네이션을 누르면 전체페이지로 가져서요 ㅠ
전체페이지로 가지지 않고 선택한 카테고리의 페이지네이션을 뽑아내려 합니다 ㅠ
답변 3개
$write_pages2 = get_paging(G5_IS_MOBILE ? $config['cf_mobile_pages'] : $config['cf_write_pages'], $page, $wr_cnt, './board.php?bo_table='.$bo_table.$qstr."&wr_1=".$_GET['wr_1'].'&page=');
=> 이건 wr_1 값이 board.php 에서 비교값으로 작동하지 않으므로 페이징이 되지 않습니다.
=> list.php 에서 wr_1 조건문을 넣어주거나 별도 수정이 필요합니다.
![]()
게시판에 분류 기능이 있으므로 해당 부분을 이용하시는게 나을거 같습니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
단순 조건문 추가한다고 되지는 않을겁니다.
list.php
L39 ~ L66
L174 ~ L181
=> 이부분을 수정해야 되는데 해당 부분을 잘못 수정시 게시판전체가 작동하지 않기 때문에
=> 개발자가 아니면 좀 수정하기가 힘들겁니다.
답변에 대한 댓글 1개
// 분류 선택 또는 검색어가 있다면
$stx = trim($stx);
//검색인지 아닌지 구분하는 변수 초기화
$is_search_bbs = false;
if ($sca || $stx) {
$sql_search = get_sql_search($sca, $sfl, $stx, $sop);
if ($bo_table == "company")
$sql_search = str_replace('ca_name', 'wr_1', $sql_search);
// 가장 작은 번호를 얻어서 변수에 저장 (하단의 페이징에서 사용)
$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;
if($wr_1 && !$wr_2){
$sql_search .= " and (wr_1 = '{$wr_1}' and wr_num between {$spt} and ({$spt} + {$config['cf_search_part']})) ";
}else if($wr_1 && $wr_2){
$sql_search .= " and (wr_1 = '{$wr_1}' and wr_2 = '{$wr_2}' and wr_num between {$spt} and ({$spt} + {$config['cf_search_part']})) ";
}else{
$sql_search .= " and (wr_num between {$spt} and ({$spt} + {$config['cf_search_part']})) ";
}
// 원글만 얻는다. (코멘트의 내용도 검색하기 위함)
$sql = " select distinct wr_parent from {$write_table} where {$sql_search} ";
$result = sql_query($sql);
} else {
$sql_search = "";
//-------------------------추가함
$notice_cnt=0;
$arr_notice = array();
$arr_notice = explode("\n", trim($board['bo_notice']));
$notice_idStr = implode(",", $arr_notice);
if($notice_idStr ){
$notice_cnt= count($arr_notice);
$no_notice_qry= " and wr_id not IN($notice_idStr) ";
}
//-----여기까지 추가
//$total_count = $board['bo_count_write'];
$total_count = $board['bo_count_write'] - $notice_cnt;
}
if(G5_IS_MOBILE) {
$page_rows = $board['bo_mobile_page_rows'];
} else {
$page_rows = $board['bo_page_rows'];
}
//$total_page = ceil($total_count / $page_rows); // 전체 페이지 계산
//if (!$page) { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지)
//$from_record = ($page - 1) * $page_rows; // 시작 열을 구함
$total_page = ceil($total_count / $board['bo_page_rows']); // 전체 페이지 계산
이런식으로 바꾼 상태이긴 하거든요 ㅠㅠ ㅎ
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인