foreach에 페이징 처리 질문드립니다

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
foreach에 페이징 처리 질문드립니다

QA

foreach에 페이징 처리 질문드립니다

본문

https://sir.kr/g5_skin/14089

 

열린이글님이 올리신 자료이고요 이거를 페이징 처리할려고 합니다

 

이걸 어떤방식으로 처리해야할지 전혀 모르겠습니다 ㅠㅠ

 

간단하게 좀 알려주시면 감사하겠습니다..

 

소스는 원본 그대로 사용하기 때문에 링크로 대처했습니다..

 

 

이 질문에 댓글 쓰기 :

답변 2

링크의 소스에서 

<form name="cookielist" method="post" style="margin:0px;"></form> 안의 내용을 수정했습니다.

대충 만들어서 테스트는 못했네요.


<form name="cookielist" method="post" style="margin:0px;">
<?
if (isset($_COOKIE["viewcookie_{$mb_id}"])) {
    //페이징 부분 시작
    $total_cnt = count($_COOKIE["viewcookie_{$mb_id}"]);    //전체갯수
    
    $page_row = 10;    //페이지당 보이는 글수
    $scale = 5; //페이지 영역에 보여질 페이지의 수, 이렇게 페이지가 몇개 보일지 여부 << 1 2 3 4 5 >>
    $total_page = ceil($total_cnt / $page_row);        //총 페이지 수
    $page = (intval($_GET['page']) > 0) ? intval($_GET['page']) : 1;    //페이지
    //페이지가 총 페이지 수보다 큰지 체크
    $page = ($page > $total_page) ? $total_page : $page;

    //페이지 영역에 보여질 데이터정리
    $page_start = (intval($page / $scale) * $scale) + 1;
    if(!($page % $scale)) $start -= $scale;
    $prev = $start - $scale;
    $next = $start + $scale;
    if($start < 1) $start = 1;
    $page_end = $start + $scale - 1;
    if($page_end > $total_page) $page_end = $total_page;
    $prev_page = ($prev >= 1) ? "page=".$prev : "";    //이전페이지 링크
    $next_page = ($next =< $total_page) ? "page=".$next : "";    //다음 페이지 링크
    $page_data = array();
    if($prev_page != "") $page_data[] = array("display" => "<<", "link" => $_PHP_SELF."?".$prev_page);
    for($i=$page_start;$i<$page_end;$i++){
        $link = ($page != $i) ? $_PHP_SELF."?page=".$i : "";
        $page_data[] = array("display" => $i, "link" => $link);
    }
    if($next_page != "") $page_data[] = array("display" => ">>", "link" => $_PHP_SELF."?".$next_page);

    // 페이지별 가져올 데이터를 추출하기 위한 시작&끝 숫자
    $page_start_num = (($page - 1) * $page_row) + 1;    //아래 $p_num 값을 이용;
    $page_end_num = ($page * $page_row);    //아래 $p_num 값을 이용;
    //페이징 부분 끝

        $k = 1 ;                        
        $p_num = 0;    //페이징을 위한 변수
    foreach ($_COOKIE["viewcookie_{$mb_id}"] as $name => $c_wr_id) {
        $p_num++;
        if($p_num >= $page_start_num && $p_num <= $page_end_num){    //페이지에 들어갈 부분만 보이기
            $name1 = explode("#",$c_wr_id);  
            $cookie_table    = $name1[0];
            $cookie_wr_id    = $name1[1];
            $cookie_datetime    = $name1[2];
            $cookie_datetime = str_replace("-",".",$cookie_datetime);
            $m = $k++;
            $m = (($page - 1) * $page_row) + $p_num;//$m 값 페이지에 맞게 수정
            $c_table = sql_fetch(" select bo_subject from {$g5['board_table']} where bo_table = '$cookie_table' ");
            $c_wr = sql_fetch(" select * from {$g5['write_prefix']}{$cookie_table} where wr_id = '$cookie_wr_id' ");
            $cookie_subject = hanCut($c_wr[wr_subject],'100','...');
            echo "
<table width='100%' border=0 cellpadding=0 cellspacing=0>
<tr align='center'>
<td width=50 style='padding:7px 0px 5px 0px;'>{$m}</td>
<td width=90 style='padding:7px 0px 5px 0px;'><a href='$g5[bbs_path]/board.php?bo_table={$cookie_table}'>{$c_table[bo_subject]}</a></td>
<td align='left'style='padding:7px 0px 5px 0px;' style='word-break:break-all;'>
<a href='$g5[bbs_path]/board.php?bo_table={$cookie_table}&wr_id=$cookie_wr_id' title='{$c_table[bo_subject]}' style='padding:3px 0px 3px 0px;font-size:11px;font-family:돋움;'>$cookie_subject</a>

</td>
<td width=120 style='padding:7px 0px 5px 0px;'>$cookie_datetime</td>
<td width=50 style='padding:7px 0px 5px 0px;'><a href=\"javascript:select_cookie('{$cookie_table}', '{$cookie_wr_id}', '{$mb_id}');\">삭제</a></td>
</tr>
<tr><td colspan=5 height=1 bgcolor=#f4f4f4></td></tr></table>";
        }

    }
    // 페이지영역 표시 (style은 알아서 바꾸기)
    echo '<div style="width:100%;text-align:center;padding:5px;line-height:25px;">';
    foreach($page_data => $_page_row){
        echo '<a href="'.$_page_row['link'].'" style="margin:3px;padding:3px;border:1px solid gray;">'.$_page_row['display'].'</a>';
    }
    echo '</div>';
} else {
        echo "<table width='100%' border=0 cellpadding=0 cellspacing=0><tr align='center'><td height=100>오늘 열람하신 게시물 없음</td></tr></table>";
}
?>
</form>

레전드플래폼님 감사합니다

해당부분은 자바스크립트로 처리를 완료했습니다

친절하게 올려주신 소스보고 한번더 배웁니다

참고해서 그누 페이징으로 처리 완료했습니다

https://sir.kr/gujik/1203 에 저의핸드폰 번호가 있습니다

핸드폰으로 연락주시면 같이 고민해볼게요

 

답변을 작성하시기 전에 로그인 해주세요.
전체 5
QA 내용 검색

회원로그인

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