채택완료

게시판 페이징 처리 (퇴근할 수 있게 도와주세요 ㅠㅠ)

안녕하세요. php&그누보드 초보입니다.

게시판 페이징을 게시판 페이지가 아니라

메인 페이지에 있는 게시판에 페이징 처리까지 같이 하려고 합니다.

 

게시판 테이블에 전체 데이터를 뿌리고

get_paging 함수를 이용해서

게시판 하단에 버튼까지 나타냈습니다.

 

그 다음에 2페이지 버튼을 누르면 다음 페이지로 가면서 다음 내용이 보여야하는데

이 부분을 버튼과 어떻게 연동을 해야할 지 모르겠습니다............

 

게시판 페이징 코드를 보니 

while문을 돌려서 하던데

다른 사람 코드를 봐도 잘 모르겠네요..

꼭 좀 도와주십시오ㅠㅠ

 

//    페이징 처리        
            if ($page < 1) { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지)

            $sql = "select * from g5_write_estimate order by wr_id desc";
            $sql2 = "select bo_count_write from g5_board where bo_table = 'estimate'";
            $result = sql_query($sql);
            $result2 = sql_fetch($sql2);
        
            $write_pages = 5; // 한 페이지에 보여줄 게시물 갯수(행)
            $total_count = $result2['bo_count_write']; // 글 전체 갯수 = 65개
            $total_page  = ceil($total_count / $write_pages);  // 전체 페이지 계산
            $from_record = ($page - 1) * $write_pages; // 시작 열을 구함
            $url = "./index.php?bo_table=estimate"; // URL
        // $add=""    
            
            for($i=0; $i < $write_pages; $i++){
            //for($i=0; $row1 = sql_fetch_array($result); $i++){            

                $row2[$i] = sql_fetch_array($result);
                
                $num[$i] = $row2[$i]['wr_id']; 
                $engine_type[$i] = $row2[$i]['fitordertype']; 
                $vessel_name[$i] = $row2[$i]['wr_subject'];
                $title[$i] = $row2[$i]['wr_content'];
                $date[$i] = $row2[$i]['wr_datetime'];    

            echo "<tr><td><a href='#'>{$num[$i]}</a></td><td><a href='#'>{$engine_type[$i]}</a></td><td><a href='#'>{$vessel_name[$i]}</a></td><td><a href='#'>{$title[$i]}</a></td><td><a href='#'>{$date[$i]}</a></td></tr>";

            } // for  

답변 2개 / 댓글 1개

채택된 답변
+20 포인트

페이징참고 하는곳이 어드민에 목록보면 나와요 거기 참고하면 될듯한데요

답변에 대한 댓글 1개

감사합니다~

아까는 제가 퇴근길에서 답변 단거라서 아래 보면 대충 이해가 될거에요

여기서 테이블명만 바꾸면 되구요 

서치가 있으면 서치 필드명만 바꾸면 되고 없으면 나머지 빼고 디폴트만 하면되요 

Copy
$sql_common = " from {$g5['auth_table']} a  ";

$sql_search = " where (1) ";
if ($stx) {
    $sql_search .= " and ( ";
    switch ($sfl) {
        default :
            $sql_search .= " ({$sfl} like '%{$stx}%') ";
            break;
    }
    $sql_search .= " ) ";
}

if (!$sst) {
    $sst  = "a.mb_id, au_menu";
    $sod = "";
}
$sql_order = " order by $sst $sod ";

$sql = " select count(*) as cnt
            {$sql_common}
            {$sql_search}
            {$sql_order} ";
$row = sql_fetch($sql);
$total_count = $row['cnt'];

$rows = $config['cf_page_rows'];
$total_page  = ceil($total_count / $rows);  // 전체 페이지 계산
if ($page < 1) $page = 1; // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $rows; // 시작 열을 구함

$sql = " select *
            {$sql_common}
            {$sql_search}
            {$sql_order}
            limit {$from_record}, {$rows} ";
$result = sql_query($sql);

 

이건 페이징부분이라서 그냥 븥이기만 하면되요

Copy
<?php echo get_paging(G5_IS_MOBILE ? $config['cf_mobile_pages'] : $config['cf_write_pages'], $page, $total_page, $_SERVER['SCRIPT_NAME'].'?'.$qstr.'&amp;page='); ?>

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