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

foreach에 페이징 처리 질문드립니다 채택완료

발렌슈테인 3년 전 조회 2,066

https://sir.kr/g5_skin/14089

 

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

 

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

 

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

 

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

 

 

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

답변 2개

채택된 답변
+20 포인트

링크의 소스에서 

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

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

</p>

<p><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);        //총 페이지 수</p>

<p>    $page = (intval($_GET['page']) > 0) ? intval($_GET['page']) : 1;    //페이지

    //페이지가 총 페이지 수보다 큰지 체크

    $page = ($page > $total_page) ? $total_page : $page;</p>

<p>

    //페이지 영역에 보여질 데이터정리

    $page_start = (intval($page / $scale) * $scale) + 1;

    if(!($page % $scale)) $start -= $scale;</p>

<p>    $prev = $start - $scale;

    $next = $start + $scale;</p>

<p>    if($start < 1) $start = 1;

    $page_end = $start + $scale - 1;

    if($page_end > $total_page) $page_end = $total_page;</p>

<p>    $prev_page = ($prev >= 1) ? "page=".$prev : "";    //이전페이지 링크

    $next_page = ($next =< $total_page) ? "page=".$next : "";    //다음 페이지 링크</p>

<p>    $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);</p>

<p>

    // 페이지별 가져올 데이터를 추출하기 위한 시작&끝 숫자

    $page_start_num = (($page - 1) * $page_row) + 1;    //아래 $p_num 값을 이용;

    $page_end_num = ($page * $page_row);    //아래 $p_num 값을 이용;</p>

<p>    //페이징 부분 끝</p>

<p>

        $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++;</p>

<p>            $m = (($page - 1) * $page_row) + $p_num;//$m 값 페이지에 맞게 수정</p>

<p>            $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' ");</p>

<p>            $cookie_subject = hanCut($c_wr[wr_subject],'100','...');</p>

<p>            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;'></p>

<p><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></p>

<p>

</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>";

        }</p>

<p>

    }</p>

<p>    // 페이지영역 표시 (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>";

}

?></p>

<p></form></p>

<p>

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

답변에 대한 댓글 1개

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

https://sir.kr/gujik/1203" rel="nofollow noreferrer noopener" target="_blank">https://sir.kr/gujik/1203 에 저의핸드폰 번호가 있습니다

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

 

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

답변에 대한 댓글 1개

발렌슈테인
3년 전
감사합니다
자바스크립트로 페이징처리를 해버렸습니다 ㅠㅠ
다음에 고민할께 있으면 연락드리겠습니다..

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

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

로그인