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

게시판 페이지네이션 선택 시 전체페이지로 가지지 않고 선택한 카테고리의 페이지네이션을 뽑아내려 합니다 채택완료

qoqofh 4년 전 조회 1,987

$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개

채택된 답변
+20 포인트

$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개

q
qoqofh
4년 전
조건문을 넣게된다면 예시정도가 있을까요 ㅠㅠ?

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

if ($sca || $stx || $wr_1) {

 

이것도 변경을 하셔야 될겁니다.

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

답변에 대한 댓글 1개

q
qoqofh
4년 전
그부분을 넣어버리면 페이지네이션이 없어지네요 ㅠㅠ 참 진짜너무어렵네요 ㅠ

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

단순 조건문 추가한다고 되지는 않을겁니다.

 

list.php

L39 ~ L66
L174  ~ L181
=> 이부분을 수정해야 되는데 해당 부분을 잘못 수정시 게시판전체가 작동하지 않기 때문에

=> 개발자가 아니면 좀 수정하기가 힘들겁니다.

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

답변에 대한 댓글 1개

q
qoqofh
4년 전
39 -

// 분류 선택 또는 검색어가 있다면
$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']); // 전체 페이지 계산

이런식으로 바꾼 상태이긴 하거든요 ㅠㅠ ㅎ

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

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

로그인