채택완료

페이징 질문드립니다

2018-03-16 (금) 13:59:47 2,699

게시물 삭제시

alert($msg, URL)

위의 URL에 관한 궁금증입니다.

총 게시물이 23개 이고

한 페이지당 게시물이 10개씩 들어간다고 했을 경우

게시물이 23개이니 총 3페이지가 나옵니다.

근데 여기서

마지막 3개를 지우게 되면.

총 게시물이 20개가 되니.. 2페이지로 가야 하는데..

또는 마지막 2개를 지우게 되면

총 게시물이 21개가 되니 3페이지로 가야하구요.

이 산식을 어떻게 계산해야 할까요 ㅠ_ㅠ

|

답변 3개 / 댓글 3개

채택된 답변
+20 포인트

이거 말씀하시나요?

23 / 10.0 = 2.3

20 / 10.0 = 2.0

21 / 10.0 = 2.1

숫자를 보면 답이 나오지 않다요?

floor() 함수를 쓰면 될거 같은데요?

floor(2.3) = 3

floor(2.0) = 2

floor(2.1) = 3

답변에 대한 댓글 2개

그래서 위처럼 구현해놨습니다.
저게 맞을까요?ㅋㅋㅠㅠ
$page = floor($total_count / $page_rows);
이게 안되나요?
floor 가 아니고 ceil 이네요

$page = ceil($total_count / $page_rows);

/bbs/list.php 114번째 줄 정도에 있는 아래 소스에, 한줄 추가하시면 될듯합니다.

Copy
$total_page  = ceil($total_count / $page_rows);  // 전체 페이지 계산
$from_record = ($page - 1) * $page_rows; // 시작 열을 구함

 

//추가 - $page 가 전체페이지보다 크면 전체페이지 값으로 이동

if($page > $total_page)  goto_url('./board.php?bo_table='.$bo_table.$qstr.'&page='.$total_page);

답변에 대한 댓글 1개

자세한 소스 감사드립니다 ㅎ
Copy
$sql_count = " select count(*) as cnt from {$g5['memo_table']} where me_{$is_kind}_mb_id = '{$member['mb_id']}' AND me_{$is_kind}_reject != 'n'";
$row_count = sql_fetch($sql_count);
$total_count = $row_count['cnt'];
$page_rows = 10;

$page = $total_count / $page_rows;
$temp = explode('.',(string)$page);

// 소수점이 있다면
if($temp[1]){
    $page = ceil($page);
} else {
    $page = floor($page);
}

이것말고 간단한 코드 없을까요...-_-;

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