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.'&page='); ?>
</div>
제가 소스를 누락한걸까요?
혹시 ul li에서는 페이징 함수가 안먹히는건가요..?
2번 페이지 누르면 ~sk.php?page=2 로 url은 바뀌는데
데이터가 안바뀌네요 ㅠ..
문제가 무엇일까요..?
답변 1
넹.. 직접 해결 완료.
원인 : load로 php 파일을 읽어와서 server http url 인식이 불가능한 문제
해결 :
# 파라미터 추출 메소드
function getUrlParam($url, $key) {
$varArr = parse_url($url);
parse_str($varArr['query'], $query);
return $query[$key];
}
$thisurl = getUrlParam($_SERVER[ "HTTP_REFERER" ], 'page');
현재 주소에서 page의 파람값을 추출
$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.'&page='); ?>
모든 소스에서 page로 작동하는걸 새로 만든 thisurl로 치환
정상작동..
!-->!-->