반응형
조회 api에서 paging 구현하기
예) 주문(order) 조회
js로 page 정보 표시하기는 아래 참조
페이지 번호가 없으면 1로 설정하고
페이지당 아이템 수를 5로 설정하여
오프셋을 계산
$page = isset($_POST['page']) ? intval($_POST['page']) : 1;
$items_per_page = 5;
$offset = ($page - 1) * $items_per_page;
페이지 정보 조회
$sql_count = "
SELECT COUNT(*) as total
FROM tbl_order
WHERE member_id = '$member_id'
";
$count_result = sql_query($sql_count);
$total_items = sql_fetch_array($count_result)['total'];
$total_pages = ceil($total_items / $items_per_page);
데이터 조회
$sql_normal = "
SELECT *
FROM tbl_order
WHERE member_id = '$member_id'
ORDER BY created_at DESC
LIMIT $offset, $items_per_page
";
$result = sql_query($sql_normal);
for($i=0; $row=sql_fetch_array($result); $i++) {
$orders[] = $row;
}
order, page 조홥
echo json_encode(array(
'error' => '',
'data' => array(
'orders' => $orders,
'pagination' => array(
'current_page' => $page,
'total_pages' => $total_pages,
'total_items' => $total_items,
'items_per_page' => $items_per_page
)
)
));
반응형
'web' 카테고리의 다른 글
js로 page 정보 표시하기 (0) | 2024.10.09 |
---|---|
[ERROR] Got error 176 "Read page with wrong checksum" from storage engine Aria (0) | 2023.08.13 |
[크롬] 캐시 비활성화 (0) | 2023.05.17 |
web tts (0) | 2023.05.15 |
[mac] xampp설치 이후 xdebug 설치하기 (0) | 2023.05.11 |
댓글