get_paging 질문 채택완료

팁자료실에서 회원리스트를 볼 수 있는 소스를 적용을 했는데요.

페이지 누르면 파람스 값은 추가가 되는데, 페이지가 안바뀌는 이슈가 있어서 질문드립니다.

 

<?php

include_once('./_common.php');

$sql_common = " from {$g5['member_table']} ";

 

$sql_search = " where (1) ";

$sql_search .= " and mb_id != '{$config['cf_admin']}' "; // 최고관리자 제외

 

$sql_order = " order by mb_datetime desc "; // 포인트 순위로 정렬

 

$sql = " select count(*) as cnt {$sql_common} {$sql_search} {$sql_order} ";

$row = sql_fetch($sql);

$total_count = $row['cnt'];

 

$rows = 20; // 목록수

$total_page  = ceil($total_count / $rows);  // 전체 페이지 계산

if ($page < 1) $page = 1; // 페이지가 없으면 첫 페이지 (1 페이지)

$from_record = ($page - 1) * $rows; // 시작 열을 구함

?>

<div class="edu-box">

    <div class="btns">

        <input type='text' name='search'><button>검색</button>

    </div>

    <ul>

        <li> No </li>

        <li> 이름 </li>

        <li> 아이디 </li>

        <li> 닉네임 </li>

        <li> 연락처 </li>

        <li> 이메일 </li>

        <li> 기수 </li>

    </ul>

    <ul>

        <?php

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

        $result = sql_query($sql);

        for ($i=0; $row=sql_fetch_array($result); $i++) {

        ?>

        <li>

            <form  method='post' autocomplete='off'>

                <p><?php echo ($i + 1); ?></p>

                <p><?php echo $row['mb_name']; ?></p>

                <p><?php echo $row['mb_id']; ?></p>

                <p><?php echo $row['mb_nick']; ?></p>

                <p><?php echo $row['mb_hp']; ?></p>

                <p><?php echo $row['mb_email']; ?></p>

                <p><?php echo $row['mb_10']; ?></p>

            </form>

        </li>

        <?php } ?>

    </ul>

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

</div>

 

 

제가 소스를 누락한걸까요?

혹시 ul li에서는 페이징 함수가 안먹히는건가요..?

 

2번 페이지 누르면 ~sk.php?page=2 로 url은 바뀌는데

데이터가 안바뀌네요 ㅠ..

 

문제가 무엇일까요..?

답변 1개

넹.. 직접 해결 완료.

 

원인 : load로 php 파일을 읽어와서 server http url 인식이 불가능한 문제

해결 : 

Copy
# 파라미터 추출 메소드

function getUrlParam($url, $key) {

    $varArr = parse_url($url);

    parse_str($varArr['query'], $query);

    return $query[$key];

}

$thisurl = getUrlParam($_SERVER[ "HTTP_REFERER" ], 'page');

 

현재 주소에서 page의 파람값을 추출

 

Copy
$total_page  = ceil($total_count / $rows);  // 전체 페이지 계산

if ($thisurl < 1) $thisurl = 1; // 페이지가 없으면 첫 페이지 (1 페이지)

$from_record = ($thisurl - 1) * $rows; // 시작 열을 구함

 

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

 

모든 소스에서 page로 작동하는걸 새로 만든 thisurl로 치환

 

정상작동..

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

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

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

로그인
🐛 버그신고