최신글 메인페이지 불러왔는데 페이징도 불러올 수 있을까요 ?
본문
최신글 메인페이지 불러왔는데 페이징도 불러올 수 있을까요 ?
답변 3
기존 최신글 기능에 페이징을 추가하는 방법으로,
get_paging() 함수를 활용하면 페이징을 구현할 수 있음.
최신글 데이터를 가져올 때, LIMIT과 OFFSET을 사용하여 데이터베이스에서
원하는 만큼의 게시물을 가져오고, get_paging()을 적용하면 페이징 기능을 추가할 수 있음.
*lib/common.lib.php에 정의된 get_paging() 함수를 활용하여,
최신글 데이터 로딩 시 페이징을 구현.
*기존 최신글 데이터를 불러오는 코드에 LIMIT과 OFFSET을 적용하고,
get_paging()을 활용하여 페이징 UI를 추가.
- 아래는 '최신 순정 그누'의 latest.skin.php에서 최신글 리스트에 페이징을 적용하는 예시 :
<?php
include_once(G5_LIB_PATH.'/common.lib.php'); // get_paging() 함수 포함
$page = isset($_GET['page']) ? (int) $_GET['page'] : 1;
$rows = 10; // 페이지당 표시할 최신글 개수
$from_record = ($page - 1) * $rows;
// 최신글 쿼리 수정
$sql = "SELECT * FROM g5_write_board ORDER BY wr_datetime DESC LIMIT {$from_record}, {$rows}";
$result = sql_query($sql);
// 최신글 출력
while ($row = sql_fetch_array($result)) {
echo "<li>{$row['wr_subject']}</li>";
}
// 전체 게시글 개수 조회
$total_count = sql_fetch("SELECT COUNT(*) as cnt FROM g5_write_board")['cnt'];
// 페이징 UI 추가
echo get_paging(10, $page, ceil($total_count / $rows), $_SERVER['PHP_SELF']."?bo_table={$bo_table}&page=");
?>
불러올수잇습니다. 그누보드는 기본 라이브러리 파일에 페이징 get_paging()함수가정의 되어있습니다. 이함수호출로 적용이 가능합니다. 체크해보세요
최신글 기본에는 따로 페이징은 없어서 원하시면 개발을 하셔야 합니다.