페이징 처리 부분에 질문~ > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

페이징 처리 부분에 질문~ 정보

페이징 처리 부분에 질문~

첨부파일

list.skin.php (17.4K) 5회 다운로드 2012-06-01 12:14:16

본문

거시기 멀티스킨을 사용중  페이징처리 부분에서 문제가 발생하여 phpschool에서 페이징 클래스 부분을  가져와서 적용하면 위와 같이 이미지처럼 1 부터 맨마지막번호 -1 까지 쫘~악 나오네요...

번호를 클릭하면 색깔이나 진하게도 안되구요...

이걸 어찌해야할까요...

몰라서 리스트 스킨도 같이 첨부해 봅니다.
<?
//-- 페이징 처리부분-------------------------------
$posts = $total_count;      // 전체 게시물 개수
$per_page = 20;    // 한 페이지 나타낼 게시물 개수
$cur_page = 0;    // 현재 선택한 페이지 번호, ex: $cur_page = isset($_GET['page']) ? $_GET['page'] : 1;
$pps_count = $total_count /20;
$pps = $pps_count;          // 출력할 페이지 번호 개수

// $pps는 짝수이어야 한다.
if ($pps % 2 != 0) $pps++;

// 총 페이지 수
$npages = ($posts / $per_page) + (($posts % $per_page != 0) ? 1 : 0);

// 총 페이지 수가 1이면 적절하게 처리
if ($npages < 2) return;

$page1 = $cur_page - $pps / 2;
$page2 = $cur_page + $pps / 2;

if ($page1 < 1) {
    $page2 -= $page1;
    $page1 = 1;
}
elseif ($page2 > $npages) {
    $page1 -= ($page2 - $npages);
    $page2 = $npages;
}

if ($page1 < 1)
    $page1 = 1;

if ($page2 > $npages)
    $page2 = $npages;

$pageURL = array();

// 처음 페이지 출력
if ($page1 > 1) {
    echo "<a href='http://192.168.0.3/bbs/board.php?bo_table=bank_mulit&geosigi_manse=bank'>처음</a> ";
}

// 이전 페이지 출력
if ($cur_page > 1) {
    printf("<a href='http://192.168.0.3/bbs/board.php?bo_table=bank_mulit&geosigi_manse=bank&page=%d'>이전</a> ", $cur_page - 1);
}

for ($i = $page1; $i <= $page2; $i++) {
    $pageURL[] = ($i == $cur_page) ? $i : "[<a href=\"http://192.168.0.3/bbs/board.php?bo_table=bank_mulit&geosigi_manse=bank&page=$i\">$i</a>]";
}

echo implode(' ', $pageURL);

// 다음 페이지 출력
if ($cur_page < $npages) {
    printf(" <a href='http://192.168.0.3/bbs/board.php?bo_table=bank_mulit&geosigi_manse=bank&page=%d'>다음</a>", $cur_page + 1);
}

// 마지막 페이지 출력
if ($page2 < $npages) {
    printf(" <a href='http://192.168.0.3/bbs/board.php?bo_table=bank_mulit&geosigi_manse=bank&page=%d'>마지막</a>", $npages);
}


?>

댓글 전체

<?
// 기본으로 넘어오는 페이지를 아래와 같이 변환하여 이미지로도 출력할 수 있습니다.
//echo $write_pages;
$write_pages = str_replace("b>", "strong>", $write_pages);
 
$write_pages = str_replace("처음", "<img src='$board_skin_path/img/page_begin.gif' border='0' align='absmiddle' title='처음'>", $write_pages);
$write_pages = str_replace("이전", "<img src='$board_skin_path/img/page_prev.gif' border='0' align='absmiddle' title='이전'>", $write_pages);
$write_pages = str_replace("다음", "<img src='$board_skin_path/img/page_next.gif' border='0' align='absmiddle' title='다음'>", $write_pages);
$write_pages = str_replace("맨끝", "<img src='$board_skin_path/img/page_end.gif' border='0' align='absmiddle' title='맨끝'>", $write_pages);
?>
<?=$write_pages?>

그냥 이런식으로 출력하지시 .. 왜 이렇게 소스를 복잡하게 하시는지....
익명사용자님 답변 감사해요..

그누보드 basic 페이징인걸로 알고 있습니다. 하지만 멀티스킨(하나의 테이블 두개 스킨)을 사용하다보니..

제가 원하는 스킨에서 페이징이 안되고 기본으로 자꾸 페이징이 되어버려서요.. 페이징관련 질

답에서 해결을 못해서 스쿨에서 퍼온걸 적용을 할려고 하는겁니다...
아 그렇군요.. 그럴경우에는 따로 list.php 파일열어서

$write_pages = get_paging($config[cf_write_pages], $page, $total_page, "./board.php?bo_table=$bo_table".$qstr."&page="); < < 이부분 복사해서 변수명을 약간 수정해서 쓰면될꺼같네요.


저도 이렇게 해서 다 처리를햇거든요..
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT